TModLoader v1.4.4.9
TModLoader source code documentation
Loading...
Searching...
No Matches

◆ VanillaAI_Inner()

void Terraria.NPC.VanillaAI_Inner ( )
inlineprivate

Definition at line 14769 of file NPC.cs.

14770 {
14771 //IL_2ab66: Unknown result type (might be due to invalid IL or missing references)
14772 //IL_2ab93: Unknown result type (might be due to invalid IL or missing references)
14773 //IL_2abd2: Unknown result type (might be due to invalid IL or missing references)
14774 //IL_2abe7: Unknown result type (might be due to invalid IL or missing references)
14775 //IL_2ac15: Unknown result type (might be due to invalid IL or missing references)
14776 //IL_2ac2a: Unknown result type (might be due to invalid IL or missing references)
14777 //IL_0198: Unknown result type (might be due to invalid IL or missing references)
14778 //IL_014b: Unknown result type (might be due to invalid IL or missing references)
14779 //IL_01b9: Unknown result type (might be due to invalid IL or missing references)
14780 //IL_01ca: Unknown result type (might be due to invalid IL or missing references)
14781 //IL_2ad4d: Unknown result type (might be due to invalid IL or missing references)
14782 //IL_2ad70: Unknown result type (might be due to invalid IL or missing references)
14783 //IL_2afa2: Unknown result type (might be due to invalid IL or missing references)
14784 //IL_2afad: Unknown result type (might be due to invalid IL or missing references)
14785 //IL_2afd0: Unknown result type (might be due to invalid IL or missing references)
14786 //IL_2aff6: Unknown result type (might be due to invalid IL or missing references)
14787 //IL_580a: Unknown result type (might be due to invalid IL or missing references)
14788 //IL_583f: Unknown result type (might be due to invalid IL or missing references)
14789 //IL_4c70: Unknown result type (might be due to invalid IL or missing references)
14790 //IL_4c76: Unknown result type (might be due to invalid IL or missing references)
14791 //IL_4c7b: Unknown result type (might be due to invalid IL or missing references)
14792 //IL_4c80: Unknown result type (might be due to invalid IL or missing references)
14793 //IL_4c89: Unknown result type (might be due to invalid IL or missing references)
14794 //IL_2b104: Unknown result type (might be due to invalid IL or missing references)
14795 //IL_2b10f: Unknown result type (might be due to invalid IL or missing references)
14796 //IL_2b129: Unknown result type (might be due to invalid IL or missing references)
14797 //IL_2b133: Unknown result type (might be due to invalid IL or missing references)
14798 //IL_2b150: Unknown result type (might be due to invalid IL or missing references)
14799 //IL_2b15a: Unknown result type (might be due to invalid IL or missing references)
14800 //IL_4c9e: Unknown result type (might be due to invalid IL or missing references)
14801 //IL_4ca9: Unknown result type (might be due to invalid IL or missing references)
14802 //IL_4cb9: Unknown result type (might be due to invalid IL or missing references)
14803 //IL_4cbf: Unknown result type (might be due to invalid IL or missing references)
14804 //IL_4cc1: Unknown result type (might be due to invalid IL or missing references)
14805 //IL_4cc6: Unknown result type (might be due to invalid IL or missing references)
14806 //IL_4cc8: Unknown result type (might be due to invalid IL or missing references)
14807 //IL_4c92: Unknown result type (might be due to invalid IL or missing references)
14808 //IL_4c97: Unknown result type (might be due to invalid IL or missing references)
14809 //IL_4c9c: Unknown result type (might be due to invalid IL or missing references)
14810 //IL_2dad: Unknown result type (might be due to invalid IL or missing references)
14811 //IL_2db3: Unknown result type (might be due to invalid IL or missing references)
14812 //IL_2db8: Unknown result type (might be due to invalid IL or missing references)
14813 //IL_2dbd: Unknown result type (might be due to invalid IL or missing references)
14814 //IL_2b070: Unknown result type (might be due to invalid IL or missing references)
14815 //IL_4d22: Unknown result type (might be due to invalid IL or missing references)
14816 //IL_4ce3: Unknown result type (might be due to invalid IL or missing references)
14817 //IL_4cfb: Unknown result type (might be due to invalid IL or missing references)
14818 //IL_4d00: Unknown result type (might be due to invalid IL or missing references)
14819 //IL_2de0: Unknown result type (might be due to invalid IL or missing references)
14820 //IL_50ee: Unknown result type (might be due to invalid IL or missing references)
14821 //IL_4e4a: Unknown result type (might be due to invalid IL or missing references)
14822 //IL_4e7f: Unknown result type (might be due to invalid IL or missing references)
14823 //IL_4fc6: Unknown result type (might be due to invalid IL or missing references)
14824 //IL_4fcc: Unknown result type (might be due to invalid IL or missing references)
14825 //IL_4fd1: Unknown result type (might be due to invalid IL or missing references)
14826 //IL_4fd6: Unknown result type (might be due to invalid IL or missing references)
14827 //IL_4f19: Unknown result type (might be due to invalid IL or missing references)
14828 //IL_32d4: Unknown result type (might be due to invalid IL or missing references)
14829 //IL_32da: Unknown result type (might be due to invalid IL or missing references)
14830 //IL_32df: Unknown result type (might be due to invalid IL or missing references)
14831 //IL_32e4: Unknown result type (might be due to invalid IL or missing references)
14832 //IL_3335: Unknown result type (might be due to invalid IL or missing references)
14833 //IL_333f: Unknown result type (might be due to invalid IL or missing references)
14834 //IL_3344: Unknown result type (might be due to invalid IL or missing references)
14835 //IL_3389: Unknown result type (might be due to invalid IL or missing references)
14836 //IL_7a31: Unknown result type (might be due to invalid IL or missing references)
14837 //IL_7a62: Unknown result type (might be due to invalid IL or missing references)
14838 //IL_520c: Unknown result type (might be due to invalid IL or missing references)
14839 //IL_5212: Unknown result type (might be due to invalid IL or missing references)
14840 //IL_5217: Unknown result type (might be due to invalid IL or missing references)
14841 //IL_521c: Unknown result type (might be due to invalid IL or missing references)
14842 //IL_515f: Unknown result type (might be due to invalid IL or missing references)
14843 //IL_5164: Unknown result type (might be due to invalid IL or missing references)
14844 //IL_5172: Unknown result type (might be due to invalid IL or missing references)
14845 //IL_5177: Unknown result type (might be due to invalid IL or missing references)
14846 //IL_5179: Unknown result type (might be due to invalid IL or missing references)
14847 //IL_517b: Unknown result type (might be due to invalid IL or missing references)
14848 //IL_517d: Unknown result type (might be due to invalid IL or missing references)
14849 //IL_5182: Unknown result type (might be due to invalid IL or missing references)
14850 //IL_518b: Unknown result type (might be due to invalid IL or missing references)
14851 //IL_2e26: Unknown result type (might be due to invalid IL or missing references)
14852 //IL_2e47: Unknown result type (might be due to invalid IL or missing references)
14853 //IL_2e4d: Unknown result type (might be due to invalid IL or missing references)
14854 //IL_2e75: Unknown result type (might be due to invalid IL or missing references)
14855 //IL_2e7f: Unknown result type (might be due to invalid IL or missing references)
14856 //IL_2e84: Unknown result type (might be due to invalid IL or missing references)
14857 //IL_502a: Unknown result type (might be due to invalid IL or missing references)
14858 //IL_5030: Unknown result type (might be due to invalid IL or missing references)
14859 //IL_5035: Unknown result type (might be due to invalid IL or missing references)
14860 //IL_5056: Unknown result type (might be due to invalid IL or missing references)
14861 //IL_505c: Unknown result type (might be due to invalid IL or missing references)
14862 //IL_507c: Unknown result type (might be due to invalid IL or missing references)
14863 //IL_5086: Unknown result type (might be due to invalid IL or missing references)
14864 //IL_508b: Unknown result type (might be due to invalid IL or missing references)
14865 //IL_50a2: Unknown result type (might be due to invalid IL or missing references)
14866 //IL_50a8: Unknown result type (might be due to invalid IL or missing references)
14867 //IL_50ad: Unknown result type (might be due to invalid IL or missing references)
14868 //IL_50b2: Unknown result type (might be due to invalid IL or missing references)
14869 //IL_51a9: Unknown result type (might be due to invalid IL or missing references)
14870 //IL_51b6: Unknown result type (might be due to invalid IL or missing references)
14871 //IL_51bb: Unknown result type (might be due to invalid IL or missing references)
14872 //IL_51cb: Unknown result type (might be due to invalid IL or missing references)
14873 //IL_51d0: Unknown result type (might be due to invalid IL or missing references)
14874 //IL_51d7: Unknown result type (might be due to invalid IL or missing references)
14875 //IL_51dc: Unknown result type (might be due to invalid IL or missing references)
14876 //IL_ee01: Unknown result type (might be due to invalid IL or missing references)
14877 //IL_ee29: Unknown result type (might be due to invalid IL or missing references)
14878 //IL_b548: Unknown result type (might be due to invalid IL or missing references)
14879 //IL_b559: Unknown result type (might be due to invalid IL or missing references)
14880 //IL_92b7: Unknown result type (might be due to invalid IL or missing references)
14881 //IL_92d4: Unknown result type (might be due to invalid IL or missing references)
14882 //IL_7db9: Unknown result type (might be due to invalid IL or missing references)
14883 //IL_7dea: Unknown result type (might be due to invalid IL or missing references)
14884 //IL_576e: Unknown result type (might be due to invalid IL or missing references)
14885 //IL_5774: Unknown result type (might be due to invalid IL or missing references)
14886 //IL_5779: Unknown result type (might be due to invalid IL or missing references)
14887 //IL_577e: Unknown result type (might be due to invalid IL or missing references)
14888 //IL_51f5: Unknown result type (might be due to invalid IL or missing references)
14889 //IL_51ff: Unknown result type (might be due to invalid IL or missing references)
14890 //IL_5204: Unknown result type (might be due to invalid IL or missing references)
14891 //IL_2ed6: Unknown result type (might be due to invalid IL or missing references)
14892 //IL_2efa: Unknown result type (might be due to invalid IL or missing references)
14893 //IL_2f00: Unknown result type (might be due to invalid IL or missing references)
14894 //IL_2f20: Unknown result type (might be due to invalid IL or missing references)
14895 //IL_2f2a: Unknown result type (might be due to invalid IL or missing references)
14896 //IL_2f2f: Unknown result type (might be due to invalid IL or missing references)
14897 //IL_33cf: Unknown result type (might be due to invalid IL or missing references)
14898 //IL_33f0: Unknown result type (might be due to invalid IL or missing references)
14899 //IL_33f6: Unknown result type (might be due to invalid IL or missing references)
14900 //IL_341e: Unknown result type (might be due to invalid IL or missing references)
14901 //IL_3428: Unknown result type (might be due to invalid IL or missing references)
14902 //IL_342d: Unknown result type (might be due to invalid IL or missing references)
14903 //IL_cedd: Unknown result type (might be due to invalid IL or missing references)
14904 //IL_b5c5: Unknown result type (might be due to invalid IL or missing references)
14905 //IL_b5d0: Unknown result type (might be due to invalid IL or missing references)
14906 //IL_b58a: Unknown result type (might be due to invalid IL or missing references)
14907 //IL_b59b: Unknown result type (might be due to invalid IL or missing references)
14908 //IL_7bff: Unknown result type (might be due to invalid IL or missing references)
14909 //IL_7c3c: Unknown result type (might be due to invalid IL or missing references)
14910 //IL_2f7a: Unknown result type (might be due to invalid IL or missing references)
14911 //IL_2f9d: Unknown result type (might be due to invalid IL or missing references)
14912 //IL_2fa3: Unknown result type (might be due to invalid IL or missing references)
14913 //IL_2fc3: Unknown result type (might be due to invalid IL or missing references)
14914 //IL_2fcd: Unknown result type (might be due to invalid IL or missing references)
14915 //IL_2fd2: Unknown result type (might be due to invalid IL or missing references)
14916 //IL_c986: Unknown result type (might be due to invalid IL or missing references)
14917 //IL_c9b3: Unknown result type (might be due to invalid IL or missing references)
14918 //IL_bb9c: Unknown result type (might be due to invalid IL or missing references)
14919 //IL_bbaf: Unknown result type (might be due to invalid IL or missing references)
14920 //IL_791e: Unknown result type (might be due to invalid IL or missing references)
14921 //IL_794b: Unknown result type (might be due to invalid IL or missing references)
14922 //IL_4507: Unknown result type (might be due to invalid IL or missing references)
14923 //IL_450d: Unknown result type (might be due to invalid IL or missing references)
14924 //IL_4512: Unknown result type (might be due to invalid IL or missing references)
14925 //IL_4517: Unknown result type (might be due to invalid IL or missing references)
14926 //IL_3c05: Unknown result type (might be due to invalid IL or missing references)
14927 //IL_3c21: Unknown result type (might be due to invalid IL or missing references)
14928 //IL_3c31: Unknown result type (might be due to invalid IL or missing references)
14929 //IL_3c36: Unknown result type (might be due to invalid IL or missing references)
14930 //IL_347f: Unknown result type (might be due to invalid IL or missing references)
14931 //IL_34a3: Unknown result type (might be due to invalid IL or missing references)
14932 //IL_34a9: Unknown result type (might be due to invalid IL or missing references)
14933 //IL_34c9: Unknown result type (might be due to invalid IL or missing references)
14934 //IL_34d3: Unknown result type (might be due to invalid IL or missing references)
14935 //IL_34d8: Unknown result type (might be due to invalid IL or missing references)
14936 //IL_efd1: Unknown result type (might be due to invalid IL or missing references)
14937 //IL_dba4: Unknown result type (might be due to invalid IL or missing references)
14938 //IL_dba9: Unknown result type (might be due to invalid IL or missing references)
14939 //IL_dbb5: Unknown result type (might be due to invalid IL or missing references)
14940 //IL_bbbe: Unknown result type (might be due to invalid IL or missing references)
14941 //IL_bbd4: Unknown result type (might be due to invalid IL or missing references)
14942 //IL_5272: Unknown result type (might be due to invalid IL or missing references)
14943 //IL_52ab: Unknown result type (might be due to invalid IL or missing references)
14944 //IL_52b1: Unknown result type (might be due to invalid IL or missing references)
14945 //IL_52df: Unknown result type (might be due to invalid IL or missing references)
14946 //IL_52e9: Unknown result type (might be due to invalid IL or missing references)
14947 //IL_52ee: Unknown result type (might be due to invalid IL or missing references)
14948 //IL_3c60: Unknown result type (might be due to invalid IL or missing references)
14949 //IL_3c6f: Unknown result type (might be due to invalid IL or missing references)
14950 //IL_3021: Unknown result type (might be due to invalid IL or missing references)
14951 //IL_3045: Unknown result type (might be due to invalid IL or missing references)
14952 //IL_304b: Unknown result type (might be due to invalid IL or missing references)
14953 //IL_306b: Unknown result type (might be due to invalid IL or missing references)
14954 //IL_3075: Unknown result type (might be due to invalid IL or missing references)
14955 //IL_307a: Unknown result type (might be due to invalid IL or missing references)
14956 //IL_3516: Unknown result type (might be due to invalid IL or missing references)
14957 //IL_3537: Unknown result type (might be due to invalid IL or missing references)
14958 //IL_353d: Unknown result type (might be due to invalid IL or missing references)
14959 //IL_355d: Unknown result type (might be due to invalid IL or missing references)
14960 //IL_3567: Unknown result type (might be due to invalid IL or missing references)
14961 //IL_356c: Unknown result type (might be due to invalid IL or missing references)
14962 //IL_f026: Unknown result type (might be due to invalid IL or missing references)
14963 //IL_f043: Unknown result type (might be due to invalid IL or missing references)
14964 //IL_805d: Unknown result type (might be due to invalid IL or missing references)
14965 //IL_809a: Unknown result type (might be due to invalid IL or missing references)
14966 //IL_6c1c: Unknown result type (might be due to invalid IL or missing references)
14967 //IL_6c51: Unknown result type (might be due to invalid IL or missing references)
14968 //IL_5b9f: Unknown result type (might be due to invalid IL or missing references)
14969 //IL_5bd4: Unknown result type (might be due to invalid IL or missing references)
14970 //IL_55ba: Unknown result type (might be due to invalid IL or missing references)
14971 //IL_55f3: Unknown result type (might be due to invalid IL or missing references)
14972 //IL_55f9: Unknown result type (might be due to invalid IL or missing references)
14973 //IL_5619: Unknown result type (might be due to invalid IL or missing references)
14974 //IL_5623: Unknown result type (might be due to invalid IL or missing references)
14975 //IL_5628: Unknown result type (might be due to invalid IL or missing references)
14976 //IL_4bf6: Unknown result type (might be due to invalid IL or missing references)
14977 //IL_4bfc: Unknown result type (might be due to invalid IL or missing references)
14978 //IL_4c01: Unknown result type (might be due to invalid IL or missing references)
14979 //IL_4c06: Unknown result type (might be due to invalid IL or missing references)
14980 //IL_455f: Unknown result type (might be due to invalid IL or missing references)
14981 //IL_4598: Unknown result type (might be due to invalid IL or missing references)
14982 //IL_459e: Unknown result type (might be due to invalid IL or missing references)
14983 //IL_35b7: Unknown result type (might be due to invalid IL or missing references)
14984 //IL_35da: Unknown result type (might be due to invalid IL or missing references)
14985 //IL_35e0: Unknown result type (might be due to invalid IL or missing references)
14986 //IL_3600: Unknown result type (might be due to invalid IL or missing references)
14987 //IL_360a: Unknown result type (might be due to invalid IL or missing references)
14988 //IL_360f: Unknown result type (might be due to invalid IL or missing references)
14989 //IL_f097: Unknown result type (might be due to invalid IL or missing references)
14990 //IL_f0a2: Unknown result type (might be due to invalid IL or missing references)
14991 //IL_56a8: Unknown result type (might be due to invalid IL or missing references)
14992 //IL_56e0: Unknown result type (might be due to invalid IL or missing references)
14993 //IL_56e6: Unknown result type (might be due to invalid IL or missing references)
14994 //IL_53c4: Unknown result type (might be due to invalid IL or missing references)
14995 //IL_53f2: Unknown result type (might be due to invalid IL or missing references)
14996 //IL_53f8: Unknown result type (might be due to invalid IL or missing references)
14997 //IL_5426: Unknown result type (might be due to invalid IL or missing references)
14998 //IL_5430: Unknown result type (might be due to invalid IL or missing references)
14999 //IL_5435: Unknown result type (might be due to invalid IL or missing references)
15000 //IL_544c: Unknown result type (might be due to invalid IL or missing references)
15001 //IL_5452: Unknown result type (might be due to invalid IL or missing references)
15002 //IL_545c: Unknown result type (might be due to invalid IL or missing references)
15003 //IL_5461: Unknown result type (might be due to invalid IL or missing references)
15004 //IL_5466: Unknown result type (might be due to invalid IL or missing references)
15005 //IL_3cf0: Unknown result type (might be due to invalid IL or missing references)
15006 //IL_30c5: Unknown result type (might be due to invalid IL or missing references)
15007 //IL_30e9: Unknown result type (might be due to invalid IL or missing references)
15008 //IL_30ef: Unknown result type (might be due to invalid IL or missing references)
15009 //IL_310f: Unknown result type (might be due to invalid IL or missing references)
15010 //IL_3119: Unknown result type (might be due to invalid IL or missing references)
15011 //IL_311e: Unknown result type (might be due to invalid IL or missing references)
15012 //IL_ce8a: Unknown result type (might be due to invalid IL or missing references)
15013 //IL_cea7: Unknown result type (might be due to invalid IL or missing references)
15014 //IL_846f: Unknown result type (might be due to invalid IL or missing references)
15015 //IL_84b6: Unknown result type (might be due to invalid IL or missing references)
15016 //IL_69cf: Unknown result type (might be due to invalid IL or missing references)
15017 //IL_6a04: Unknown result type (might be due to invalid IL or missing references)
15018 //IL_54e6: Unknown result type (might be due to invalid IL or missing references)
15019 //IL_5514: Unknown result type (might be due to invalid IL or missing references)
15020 //IL_551a: Unknown result type (might be due to invalid IL or missing references)
15021 //IL_553a: Unknown result type (might be due to invalid IL or missing references)
15022 //IL_5544: Unknown result type (might be due to invalid IL or missing references)
15023 //IL_5549: Unknown result type (might be due to invalid IL or missing references)
15024 //IL_5560: Unknown result type (might be due to invalid IL or missing references)
15025 //IL_5566: Unknown result type (might be due to invalid IL or missing references)
15026 //IL_5570: Unknown result type (might be due to invalid IL or missing references)
15027 //IL_5575: Unknown result type (might be due to invalid IL or missing references)
15028 //IL_557a: Unknown result type (might be due to invalid IL or missing references)
15029 //IL_462f: Unknown result type (might be due to invalid IL or missing references)
15030 //IL_466b: Unknown result type (might be due to invalid IL or missing references)
15031 //IL_4671: Unknown result type (might be due to invalid IL or missing references)
15032 //IL_4210: Unknown result type (might be due to invalid IL or missing references)
15033 //IL_3d0d: Unknown result type (might be due to invalid IL or missing references)
15034 //IL_3d12: Unknown result type (might be due to invalid IL or missing references)
15035 //IL_3d17: Unknown result type (might be due to invalid IL or missing references)
15036 //IL_3d25: Unknown result type (might be due to invalid IL or missing references)
15037 //IL_3d2a: Unknown result type (might be due to invalid IL or missing references)
15038 //IL_3d2f: Unknown result type (might be due to invalid IL or missing references)
15039 //IL_3d3d: Unknown result type (might be due to invalid IL or missing references)
15040 //IL_3d43: Unknown result type (might be due to invalid IL or missing references)
15041 //IL_3d48: Unknown result type (might be due to invalid IL or missing references)
15042 //IL_3d4d: Unknown result type (might be due to invalid IL or missing references)
15043 //IL_365e: Unknown result type (might be due to invalid IL or missing references)
15044 //IL_3682: Unknown result type (might be due to invalid IL or missing references)
15045 //IL_3688: Unknown result type (might be due to invalid IL or missing references)
15046 //IL_36a8: Unknown result type (might be due to invalid IL or missing references)
15047 //IL_36b2: Unknown result type (might be due to invalid IL or missing references)
15048 //IL_36b7: Unknown result type (might be due to invalid IL or missing references)
15049 //IL_1376f: Unknown result type (might be due to invalid IL or missing references)
15050 //IL_e161: Unknown result type (might be due to invalid IL or missing references)
15051 //IL_e17e: Unknown result type (might be due to invalid IL or missing references)
15052 //IL_b6e9: Unknown result type (might be due to invalid IL or missing references)
15053 //IL_b6ee: Unknown result type (might be due to invalid IL or missing references)
15054 //IL_b6f3: Unknown result type (might be due to invalid IL or missing references)
15055 //IL_b705: Unknown result type (might be due to invalid IL or missing references)
15056 //IL_b70a: Unknown result type (might be due to invalid IL or missing references)
15057 //IL_b70f: Unknown result type (might be due to invalid IL or missing references)
15058 //IL_b721: Unknown result type (might be due to invalid IL or missing references)
15059 //IL_b727: Unknown result type (might be due to invalid IL or missing references)
15060 //IL_b72c: Unknown result type (might be due to invalid IL or missing references)
15061 //IL_b731: Unknown result type (might be due to invalid IL or missing references)
15062 //IL_315c: Unknown result type (might be due to invalid IL or missing references)
15063 //IL_317d: Unknown result type (might be due to invalid IL or missing references)
15064 //IL_3183: Unknown result type (might be due to invalid IL or missing references)
15065 //IL_31a3: Unknown result type (might be due to invalid IL or missing references)
15066 //IL_31ad: Unknown result type (might be due to invalid IL or missing references)
15067 //IL_31b2: Unknown result type (might be due to invalid IL or missing references)
15068 //IL_07ed: Unknown result type (might be due to invalid IL or missing references)
15069 //IL_081a: Unknown result type (might be due to invalid IL or missing references)
15070 //IL_0820: Unknown result type (might be due to invalid IL or missing references)
15071 //IL_1379a: Unknown result type (might be due to invalid IL or missing references)
15072 //IL_137aa: Unknown result type (might be due to invalid IL or missing references)
15073 //IL_e452: Unknown result type (might be due to invalid IL or missing references)
15074 //IL_e1b8: Unknown result type (might be due to invalid IL or missing references)
15075 //IL_e1be: Unknown result type (might be due to invalid IL or missing references)
15076 //IL_e1c3: Unknown result type (might be due to invalid IL or missing references)
15077 //IL_e1c8: Unknown result type (might be due to invalid IL or missing references)
15078 //IL_cc4c: Unknown result type (might be due to invalid IL or missing references)
15079 //IL_cc51: Unknown result type (might be due to invalid IL or missing references)
15080 //IL_bd88: Unknown result type (might be due to invalid IL or missing references)
15081 //IL_bd9c: Unknown result type (might be due to invalid IL or missing references)
15082 //IL_bda1: Unknown result type (might be due to invalid IL or missing references)
15083 //IL_bda7: Unknown result type (might be due to invalid IL or missing references)
15084 //IL_48b0: Unknown result type (might be due to invalid IL or missing references)
15085 //IL_48d3: Unknown result type (might be due to invalid IL or missing references)
15086 //IL_48d9: Unknown result type (might be due to invalid IL or missing references)
15087 //IL_3259: Unknown result type (might be due to invalid IL or missing references)
15088 //IL_3279: Unknown result type (might be due to invalid IL or missing references)
15089 //IL_327f: Unknown result type (might be due to invalid IL or missing references)
15090 //IL_329f: Unknown result type (might be due to invalid IL or missing references)
15091 //IL_32a9: Unknown result type (might be due to invalid IL or missing references)
15092 //IL_32ae: Unknown result type (might be due to invalid IL or missing references)
15093 //IL_31d8: Unknown result type (might be due to invalid IL or missing references)
15094 //IL_31f9: Unknown result type (might be due to invalid IL or missing references)
15095 //IL_31ff: Unknown result type (might be due to invalid IL or missing references)
15096 //IL_321f: Unknown result type (might be due to invalid IL or missing references)
15097 //IL_3229: Unknown result type (might be due to invalid IL or missing references)
15098 //IL_322e: Unknown result type (might be due to invalid IL or missing references)
15099 //IL_3702: Unknown result type (might be due to invalid IL or missing references)
15100 //IL_3726: Unknown result type (might be due to invalid IL or missing references)
15101 //IL_372c: Unknown result type (might be due to invalid IL or missing references)
15102 //IL_374c: Unknown result type (might be due to invalid IL or missing references)
15103 //IL_3756: Unknown result type (might be due to invalid IL or missing references)
15104 //IL_375b: Unknown result type (might be due to invalid IL or missing references)
15105 //IL_139b4: Unknown result type (might be due to invalid IL or missing references)
15106 //IL_139f1: Unknown result type (might be due to invalid IL or missing references)
15107 //IL_1198a: Unknown result type (might be due to invalid IL or missing references)
15108 //IL_119c7: Unknown result type (might be due to invalid IL or missing references)
15109 //IL_c4f7: Unknown result type (might be due to invalid IL or missing references)
15110 //IL_c52e: Unknown result type (might be due to invalid IL or missing references)
15111 //IL_c57a: Unknown result type (might be due to invalid IL or missing references)
15112 //IL_c584: Unknown result type (might be due to invalid IL or missing references)
15113 //IL_c589: Unknown result type (might be due to invalid IL or missing references)
15114 //IL_6d94: Unknown result type (might be due to invalid IL or missing references)
15115 //IL_6dbd: Unknown result type (might be due to invalid IL or missing references)
15116 //IL_6dc3: Unknown result type (might be due to invalid IL or missing references)
15117 //IL_615a: Unknown result type (might be due to invalid IL or missing references)
15118 //IL_615f: Unknown result type (might be due to invalid IL or missing references)
15119 //IL_618c: Unknown result type (might be due to invalid IL or missing references)
15120 //IL_61c1: Unknown result type (might be due to invalid IL or missing references)
15121 //IL_61df: Unknown result type (might be due to invalid IL or missing references)
15122 //IL_61ef: Unknown result type (might be due to invalid IL or missing references)
15123 //IL_5cbb: Unknown result type (might be due to invalid IL or missing references)
15124 //IL_5cc2: Unknown result type (might be due to invalid IL or missing references)
15125 //IL_3d87: Unknown result type (might be due to invalid IL or missing references)
15126 //IL_3d91: Unknown result type (might be due to invalid IL or missing references)
15127 //IL_3da9: Unknown result type (might be due to invalid IL or missing references)
15128 //IL_3db3: Unknown result type (might be due to invalid IL or missing references)
15129 //IL_3dc8: Unknown result type (might be due to invalid IL or missing references)
15130 //IL_fb37: Unknown result type (might be due to invalid IL or missing references)
15131 //IL_fb48: Unknown result type (might be due to invalid IL or missing references)
15132 //IL_bde4: Unknown result type (might be due to invalid IL or missing references)
15133 //IL_4975: Unknown result type (might be due to invalid IL or missing references)
15134 //IL_49b1: Unknown result type (might be due to invalid IL or missing references)
15135 //IL_49b7: Unknown result type (might be due to invalid IL or missing references)
15136 //IL_49e5: Unknown result type (might be due to invalid IL or missing references)
15137 //IL_49ef: Unknown result type (might be due to invalid IL or missing references)
15138 //IL_49f4: Unknown result type (might be due to invalid IL or missing references)
15139 //IL_4759: Unknown result type (might be due to invalid IL or missing references)
15140 //IL_4792: Unknown result type (might be due to invalid IL or missing references)
15141 //IL_4798: Unknown result type (might be due to invalid IL or missing references)
15142 //IL_3e03: Unknown result type (might be due to invalid IL or missing references)
15143 //IL_3dd6: Unknown result type (might be due to invalid IL or missing references)
15144 //IL_3802: Unknown result type (might be due to invalid IL or missing references)
15145 //IL_3822: Unknown result type (might be due to invalid IL or missing references)
15146 //IL_3828: Unknown result type (might be due to invalid IL or missing references)
15147 //IL_3848: Unknown result type (might be due to invalid IL or missing references)
15148 //IL_3852: Unknown result type (might be due to invalid IL or missing references)
15149 //IL_3857: Unknown result type (might be due to invalid IL or missing references)
15150 //IL_3781: Unknown result type (might be due to invalid IL or missing references)
15151 //IL_37a2: Unknown result type (might be due to invalid IL or missing references)
15152 //IL_37a8: Unknown result type (might be due to invalid IL or missing references)
15153 //IL_37c8: Unknown result type (might be due to invalid IL or missing references)
15154 //IL_37d2: Unknown result type (might be due to invalid IL or missing references)
15155 //IL_37d7: Unknown result type (might be due to invalid IL or missing references)
15156 //IL_11bb8: Unknown result type (might be due to invalid IL or missing references)
15157 //IL_11bc2: Unknown result type (might be due to invalid IL or missing references)
15158 //IL_11bc7: Unknown result type (might be due to invalid IL or missing references)
15159 //IL_11aea: Unknown result type (might be due to invalid IL or missing references)
15160 //IL_11af4: Unknown result type (might be due to invalid IL or missing references)
15161 //IL_11af9: Unknown result type (might be due to invalid IL or missing references)
15162 //IL_fb74: Unknown result type (might be due to invalid IL or missing references)
15163 //IL_fb85: Unknown result type (might be due to invalid IL or missing references)
15164 //IL_c02a: Unknown result type (might be due to invalid IL or missing references)
15165 //IL_c02f: Unknown result type (might be due to invalid IL or missing references)
15166 //IL_c039: Unknown result type (might be due to invalid IL or missing references)
15167 //IL_c03e: Unknown result type (might be due to invalid IL or missing references)
15168 //IL_c07c: Unknown result type (might be due to invalid IL or missing references)
15169 //IL_c0c1: Unknown result type (might be due to invalid IL or missing references)
15170 //IL_c0cb: Unknown result type (might be due to invalid IL or missing references)
15171 //IL_c0d0: Unknown result type (might be due to invalid IL or missing references)
15172 //IL_bb53: Unknown result type (might be due to invalid IL or missing references)
15173 //IL_bb6a: Unknown result type (might be due to invalid IL or missing references)
15174 //IL_bb6f: Unknown result type (might be due to invalid IL or missing references)
15175 //IL_bb7c: Unknown result type (might be due to invalid IL or missing references)
15176 //IL_bb8f: Unknown result type (might be due to invalid IL or missing references)
15177 //IL_b7c4: Unknown result type (might be due to invalid IL or missing references)
15178 //IL_b7d6: Unknown result type (might be due to invalid IL or missing references)
15179 //IL_b7fa: Unknown result type (might be due to invalid IL or missing references)
15180 //IL_b80c: Unknown result type (might be due to invalid IL or missing references)
15181 //IL_b82a: Unknown result type (might be due to invalid IL or missing references)
15182 //IL_6e7b: Unknown result type (might be due to invalid IL or missing references)
15183 //IL_6ea2: Unknown result type (might be due to invalid IL or missing references)
15184 //IL_6ea8: Unknown result type (might be due to invalid IL or missing references)
15185 //IL_6ed6: Unknown result type (might be due to invalid IL or missing references)
15186 //IL_6edc: Unknown result type (might be due to invalid IL or missing references)
15187 //IL_6ee1: Unknown result type (might be due to invalid IL or missing references)
15188 //IL_6ee6: Unknown result type (might be due to invalid IL or missing references)
15189 //IL_6264: Unknown result type (might be due to invalid IL or missing references)
15190 //IL_62ad: Unknown result type (might be due to invalid IL or missing references)
15191 //IL_633a: Unknown result type (might be due to invalid IL or missing references)
15192 //IL_633e: Unknown result type (might be due to invalid IL or missing references)
15193 //IL_6343: Unknown result type (might be due to invalid IL or missing references)
15194 //IL_6345: Unknown result type (might be due to invalid IL or missing references)
15195 //IL_6348: Unknown result type (might be due to invalid IL or missing references)
15196 //IL_634d: Unknown result type (might be due to invalid IL or missing references)
15197 //IL_6352: Unknown result type (might be due to invalid IL or missing references)
15198 //IL_6354: Unknown result type (might be due to invalid IL or missing references)
15199 //IL_635d: Unknown result type (might be due to invalid IL or missing references)
15200 //IL_637f: Unknown result type (might be due to invalid IL or missing references)
15201 //IL_6381: Unknown result type (might be due to invalid IL or missing references)
15202 //IL_6388: Unknown result type (might be due to invalid IL or missing references)
15203 //IL_638d: Unknown result type (might be due to invalid IL or missing references)
15204 //IL_6392: Unknown result type (might be due to invalid IL or missing references)
15205 //IL_639a: Unknown result type (might be due to invalid IL or missing references)
15206 //IL_63a1: Unknown result type (might be due to invalid IL or missing references)
15207 //IL_43bc: Unknown result type (might be due to invalid IL or missing references)
15208 //IL_4405: Unknown result type (might be due to invalid IL or missing references)
15209 //IL_4459: Unknown result type (might be due to invalid IL or missing references)
15210 //IL_4460: Unknown result type (might be due to invalid IL or missing references)
15211 //IL_3fe3: Unknown result type (might be due to invalid IL or missing references)
15212 //IL_401c: Unknown result type (might be due to invalid IL or missing references)
15213 //IL_3e11: Unknown result type (might be due to invalid IL or missing references)
15214 //IL_3de4: Unknown result type (might be due to invalid IL or missing references)
15215 //IL_f3a9: Unknown result type (might be due to invalid IL or missing references)
15216 //IL_f3af: Unknown result type (might be due to invalid IL or missing references)
15217 //IL_f3b4: Unknown result type (might be due to invalid IL or missing references)
15218 //IL_f3b9: Unknown result type (might be due to invalid IL or missing references)
15219 //IL_f3e8: Unknown result type (might be due to invalid IL or missing references)
15220 //IL_f412: Unknown result type (might be due to invalid IL or missing references)
15221 //IL_f418: Unknown result type (might be due to invalid IL or missing references)
15222 //IL_b895: Unknown result type (might be due to invalid IL or missing references)
15223 //IL_b844: Unknown result type (might be due to invalid IL or missing references)
15224 //IL_67c3: Unknown result type (might be due to invalid IL or missing references)
15225 //IL_67e6: Unknown result type (might be due to invalid IL or missing references)
15226 //IL_4a67: Unknown result type (might be due to invalid IL or missing references)
15227 //IL_4aa3: Unknown result type (might be due to invalid IL or missing references)
15228 //IL_4aa9: Unknown result type (might be due to invalid IL or missing references)
15229 //IL_4ad7: Unknown result type (might be due to invalid IL or missing references)
15230 //IL_4ae1: Unknown result type (might be due to invalid IL or missing references)
15231 //IL_4ae6: Unknown result type (might be due to invalid IL or missing references)
15232 //IL_3e1f: Unknown result type (might be due to invalid IL or missing references)
15233 //IL_3df2: Unknown result type (might be due to invalid IL or missing references)
15234 //IL_0967: Unknown result type (might be due to invalid IL or missing references)
15235 //IL_09a2: Unknown result type (might be due to invalid IL or missing references)
15236 //IL_1027d: Unknown result type (might be due to invalid IL or missing references)
15237 //IL_10283: Unknown result type (might be due to invalid IL or missing references)
15238 //IL_10288: Unknown result type (might be due to invalid IL or missing references)
15239 //IL_1028d: Unknown result type (might be due to invalid IL or missing references)
15240 //IL_f4c1: Unknown result type (might be due to invalid IL or missing references)
15241 //IL_f4c7: Unknown result type (might be due to invalid IL or missing references)
15242 //IL_f4cc: Unknown result type (might be due to invalid IL or missing references)
15243 //IL_f4d1: Unknown result type (might be due to invalid IL or missing references)
15244 //IL_be58: Unknown result type (might be due to invalid IL or missing references)
15245 //IL_be5d: Unknown result type (might be due to invalid IL or missing references)
15246 //IL_be67: Unknown result type (might be due to invalid IL or missing references)
15247 //IL_be6c: Unknown result type (might be due to invalid IL or missing references)
15248 //IL_beaa: Unknown result type (might be due to invalid IL or missing references)
15249 //IL_beef: Unknown result type (might be due to invalid IL or missing references)
15250 //IL_bef9: Unknown result type (might be due to invalid IL or missing references)
15251 //IL_befe: Unknown result type (might be due to invalid IL or missing references)
15252 //IL_b8af: Unknown result type (might be due to invalid IL or missing references)
15253 //IL_b85e: Unknown result type (might be due to invalid IL or missing references)
15254 //IL_4b10: Unknown result type (might be due to invalid IL or missing references)
15255 //IL_3e2d: Unknown result type (might be due to invalid IL or missing references)
15256 //IL_100e: Unknown result type (might be due to invalid IL or missing references)
15257 //IL_1018: Unknown result type (might be due to invalid IL or missing references)
15258 //IL_101d: Unknown result type (might be due to invalid IL or missing references)
15259 //IL_0f26: Unknown result type (might be due to invalid IL or missing references)
15260 //IL_0f5b: Unknown result type (might be due to invalid IL or missing references)
15261 //IL_1ad89: Unknown result type (might be due to invalid IL or missing references)
15262 //IL_1adba: Unknown result type (might be due to invalid IL or missing references)
15263 //IL_11fc8: Unknown result type (might be due to invalid IL or missing references)
15264 //IL_11fcd: Unknown result type (might be due to invalid IL or missing references)
15265 //IL_11fd9: Unknown result type (might be due to invalid IL or missing references)
15266 //IL_10371: Unknown result type (might be due to invalid IL or missing references)
15267 //IL_10377: Unknown result type (might be due to invalid IL or missing references)
15268 //IL_1037c: Unknown result type (might be due to invalid IL or missing references)
15269 //IL_10381: Unknown result type (might be due to invalid IL or missing references)
15270 //IL_102a0: Unknown result type (might be due to invalid IL or missing references)
15271 //IL_102c3: Unknown result type (might be due to invalid IL or missing references)
15272 //IL_102f6: Unknown result type (might be due to invalid IL or missing references)
15273 //IL_10300: Unknown result type (might be due to invalid IL or missing references)
15274 //IL_10305: Unknown result type (might be due to invalid IL or missing references)
15275 //IL_e741: Unknown result type (might be due to invalid IL or missing references)
15276 //IL_e74b: Unknown result type (might be due to invalid IL or missing references)
15277 //IL_e750: Unknown result type (might be due to invalid IL or missing references)
15278 //IL_b8c9: Unknown result type (might be due to invalid IL or missing references)
15279 //IL_b878: Unknown result type (might be due to invalid IL or missing references)
15280 //IL_4b5a: Unknown result type (might be due to invalid IL or missing references)
15281 //IL_4b92: Unknown result type (might be due to invalid IL or missing references)
15282 //IL_4b98: Unknown result type (might be due to invalid IL or missing references)
15283 //IL_1953: Unknown result type (might be due to invalid IL or missing references)
15284 //IL_198e: Unknown result type (might be due to invalid IL or missing references)
15285 //IL_102b: Unknown result type (might be due to invalid IL or missing references)
15286 //IL_1035: Unknown result type (might be due to invalid IL or missing references)
15287 //IL_103a: Unknown result type (might be due to invalid IL or missing references)
15288 //IL_13e37: Unknown result type (might be due to invalid IL or missing references)
15289 //IL_13e9a: Unknown result type (might be due to invalid IL or missing references)
15290 //IL_13efd: Unknown result type (might be due to invalid IL or missing references)
15291 //IL_1c171: Unknown result type (might be due to invalid IL or missing references)
15292 //IL_1c1a2: Unknown result type (might be due to invalid IL or missing references)
15293 //IL_11d36: Unknown result type (might be due to invalid IL or missing references)
15294 //IL_11d4c: Unknown result type (might be due to invalid IL or missing references)
15295 //IL_10807: Unknown result type (might be due to invalid IL or missing references)
15296 //IL_10812: Unknown result type (might be due to invalid IL or missing references)
15297 //IL_1046d: Unknown result type (might be due to invalid IL or missing references)
15298 //IL_10473: Unknown result type (might be due to invalid IL or missing references)
15299 //IL_10478: Unknown result type (might be due to invalid IL or missing references)
15300 //IL_1047d: Unknown result type (might be due to invalid IL or missing references)
15301 //IL_103eb: Unknown result type (might be due to invalid IL or missing references)
15302 //IL_1040f: Unknown result type (might be due to invalid IL or missing references)
15303 //IL_10415: Unknown result type (might be due to invalid IL or missing references)
15304 //IL_10445: Unknown result type (might be due to invalid IL or missing references)
15305 //IL_1044f: Unknown result type (might be due to invalid IL or missing references)
15306 //IL_10454: Unknown result type (might be due to invalid IL or missing references)
15307 //IL_10345: Unknown result type (might be due to invalid IL or missing references)
15308 //IL_1034b: Unknown result type (might be due to invalid IL or missing references)
15309 //IL_10350: Unknown result type (might be due to invalid IL or missing references)
15310 //IL_10355: Unknown result type (might be due to invalid IL or missing references)
15311 //IL_e76c: Unknown result type (might be due to invalid IL or missing references)
15312 //IL_e776: Unknown result type (might be due to invalid IL or missing references)
15313 //IL_e77b: Unknown result type (might be due to invalid IL or missing references)
15314 //IL_e6ab: Unknown result type (might be due to invalid IL or missing references)
15315 //IL_e6c8: Unknown result type (might be due to invalid IL or missing references)
15316 //IL_b8e3: Unknown result type (might be due to invalid IL or missing references)
15317 //IL_a848: Unknown result type (might be due to invalid IL or missing references)
15318 //IL_a889: Unknown result type (might be due to invalid IL or missing references)
15319 //IL_1048: Unknown result type (might be due to invalid IL or missing references)
15320 //IL_1052: Unknown result type (might be due to invalid IL or missing references)
15321 //IL_1057: Unknown result type (might be due to invalid IL or missing references)
15322 //IL_11d72: Unknown result type (might be due to invalid IL or missing references)
15323 //IL_11d7d: Unknown result type (might be due to invalid IL or missing references)
15324 //IL_10517: Unknown result type (might be due to invalid IL or missing references)
15325 //IL_10554: Unknown result type (might be due to invalid IL or missing references)
15326 //IL_ffc6: Unknown result type (might be due to invalid IL or missing references)
15327 //IL_10003: Unknown result type (might be due to invalid IL or missing references)
15328 //IL_10099: Unknown result type (might be due to invalid IL or missing references)
15329 //IL_100ab: Unknown result type (might be due to invalid IL or missing references)
15330 //IL_100b0: Unknown result type (might be due to invalid IL or missing references)
15331 //IL_100b6: Unknown result type (might be due to invalid IL or missing references)
15332 //IL_100c7: Unknown result type (might be due to invalid IL or missing references)
15333 //IL_100ee: Unknown result type (might be due to invalid IL or missing references)
15334 //IL_100f9: Unknown result type (might be due to invalid IL or missing references)
15335 //IL_e79a: Unknown result type (might be due to invalid IL or missing references)
15336 //IL_e7a4: Unknown result type (might be due to invalid IL or missing references)
15337 //IL_e7a9: Unknown result type (might be due to invalid IL or missing references)
15338 //IL_1756: Unknown result type (might be due to invalid IL or missing references)
15339 //IL_1795: Unknown result type (might be due to invalid IL or missing references)
15340 //IL_179b: Unknown result type (might be due to invalid IL or missing references)
15341 //IL_14c38: Unknown result type (might be due to invalid IL or missing references)
15342 //IL_14c7f: Unknown result type (might be due to invalid IL or missing references)
15343 //IL_141b5: Unknown result type (might be due to invalid IL or missing references)
15344 //IL_141f2: Unknown result type (might be due to invalid IL or missing references)
15345 //IL_128bb: Unknown result type (might be due to invalid IL or missing references)
15346 //IL_128c0: Unknown result type (might be due to invalid IL or missing references)
15347 //IL_128cc: Unknown result type (might be due to invalid IL or missing references)
15348 //IL_11e05: Unknown result type (might be due to invalid IL or missing references)
15349 //IL_11e1b: Unknown result type (might be due to invalid IL or missing references)
15350 //IL_10b1e: Unknown result type (might be due to invalid IL or missing references)
15351 //IL_10b24: Unknown result type (might be due to invalid IL or missing references)
15352 //IL_10b29: Unknown result type (might be due to invalid IL or missing references)
15353 //IL_10b2e: Unknown result type (might be due to invalid IL or missing references)
15354 //IL_e7c8: Unknown result type (might be due to invalid IL or missing references)
15355 //IL_e7d2: Unknown result type (might be due to invalid IL or missing references)
15356 //IL_e7d7: Unknown result type (might be due to invalid IL or missing references)
15357 //IL_a9cf: Unknown result type (might be due to invalid IL or missing references)
15358 //IL_a9ec: Unknown result type (might be due to invalid IL or missing references)
15359 //IL_a912: Unknown result type (might be due to invalid IL or missing references)
15360 //IL_a92f: Unknown result type (might be due to invalid IL or missing references)
15361 //IL_4142: Unknown result type (might be due to invalid IL or missing references)
15362 //IL_4149: Unknown result type (might be due to invalid IL or missing references)
15363 //IL_13eb: Unknown result type (might be due to invalid IL or missing references)
15364 //IL_13ed: Unknown result type (might be due to invalid IL or missing references)
15365 //IL_13f1: Unknown result type (might be due to invalid IL or missing references)
15366 //IL_141d: Unknown result type (might be due to invalid IL or missing references)
15367 //IL_143a: Unknown result type (might be due to invalid IL or missing references)
15368 //IL_101d6: Unknown result type (might be due to invalid IL or missing references)
15369 //IL_101f3: Unknown result type (might be due to invalid IL or missing references)
15370 //IL_bacc: Unknown result type (might be due to invalid IL or missing references)
15371 //IL_badf: Unknown result type (might be due to invalid IL or missing references)
15372 //IL_41ad: Unknown result type (might be due to invalid IL or missing references)
15373 //IL_41d2: Unknown result type (might be due to invalid IL or missing references)
15374 //IL_145a: Unknown result type (might be due to invalid IL or missing references)
15375 //IL_1462: Unknown result type (might be due to invalid IL or missing references)
15376 //IL_1499: Unknown result type (might be due to invalid IL or missing references)
15377 //IL_14b2: Unknown result type (might be due to invalid IL or missing references)
15378 //IL_2088: Unknown result type (might be due to invalid IL or missing references)
15379 //IL_209e: Unknown result type (might be due to invalid IL or missing references)
15380 //IL_1e75: Unknown result type (might be due to invalid IL or missing references)
15381 //IL_1e7f: Unknown result type (might be due to invalid IL or missing references)
15382 //IL_1e84: Unknown result type (might be due to invalid IL or missing references)
15383 //IL_1d7b: Unknown result type (might be due to invalid IL or missing references)
15384 //IL_1db0: Unknown result type (might be due to invalid IL or missing references)
15385 //IL_12b88: Unknown result type (might be due to invalid IL or missing references)
15386 //IL_12ba0: Unknown result type (might be due to invalid IL or missing references)
15387 //IL_ac41: Unknown result type (might be due to invalid IL or missing references)
15388 //IL_ac5e: Unknown result type (might be due to invalid IL or missing references)
15389 //IL_2a49: Unknown result type (might be due to invalid IL or missing references)
15390 //IL_2a81: Unknown result type (might be due to invalid IL or missing references)
15391 //IL_2176: Unknown result type (might be due to invalid IL or missing references)
15392 //IL_21ab: Unknown result type (might be due to invalid IL or missing references)
15393 //IL_1e92: Unknown result type (might be due to invalid IL or missing references)
15394 //IL_1e9c: Unknown result type (might be due to invalid IL or missing references)
15395 //IL_1ea1: Unknown result type (might be due to invalid IL or missing references)
15396 //IL_12bcc: Unknown result type (might be due to invalid IL or missing references)
15397 //IL_12bef: Unknown result type (might be due to invalid IL or missing references)
15398 //IL_aef8: Unknown result type (might be due to invalid IL or missing references)
15399 //IL_af15: Unknown result type (might be due to invalid IL or missing references)
15400 //IL_ad06: Unknown result type (might be due to invalid IL or missing references)
15401 //IL_ad57: Unknown result type (might be due to invalid IL or missing references)
15402 //IL_adf0: Unknown result type (might be due to invalid IL or missing references)
15403 //IL_adfb: Unknown result type (might be due to invalid IL or missing references)
15404 //IL_15f2: Unknown result type (might be due to invalid IL or missing references)
15405 //IL_1621: Unknown result type (might be due to invalid IL or missing references)
15406 //IL_1633: Unknown result type (might be due to invalid IL or missing references)
15407 //IL_1662: Unknown result type (might be due to invalid IL or missing references)
15408 //IL_1674: Unknown result type (might be due to invalid IL or missing references)
15409 //IL_16a3: Unknown result type (might be due to invalid IL or missing references)
15410 //IL_14f2: Unknown result type (might be due to invalid IL or missing references)
15411 //IL_14f9: Unknown result type (might be due to invalid IL or missing references)
15412 //IL_1506: Unknown result type (might be due to invalid IL or missing references)
15413 //IL_1516: Unknown result type (might be due to invalid IL or missing references)
15414 //IL_151c: Unknown result type (might be due to invalid IL or missing references)
15415 //IL_2764: Unknown result type (might be due to invalid IL or missing references)
15416 //IL_2775: Unknown result type (might be due to invalid IL or missing references)
15417 //IL_1de0e: Unknown result type (might be due to invalid IL or missing references)
15418 //IL_1de39: Unknown result type (might be due to invalid IL or missing references)
15419 //IL_1de7c: Unknown result type (might be due to invalid IL or missing references)
15420 //IL_afbd: Unknown result type (might be due to invalid IL or missing references)
15421 //IL_b00e: Unknown result type (might be due to invalid IL or missing references)
15422 //IL_b0a7: Unknown result type (might be due to invalid IL or missing references)
15423 //IL_b0b2: Unknown result type (might be due to invalid IL or missing references)
15424 //IL_27b1: Unknown result type (might be due to invalid IL or missing references)
15425 //IL_27bb: Unknown result type (might be due to invalid IL or missing references)
15426 //IL_27c0: Unknown result type (might be due to invalid IL or missing references)
15427 //IL_1b98a: Unknown result type (might be due to invalid IL or missing references)
15428 //IL_1b9bb: Unknown result type (might be due to invalid IL or missing references)
15429 //IL_15527: Unknown result type (might be due to invalid IL or missing references)
15430 //IL_15554: Unknown result type (might be due to invalid IL or missing references)
15431 //IL_1555a: Unknown result type (might be due to invalid IL or missing references)
15432 //IL_108b1: Unknown result type (might be due to invalid IL or missing references)
15433 //IL_108ce: Unknown result type (might be due to invalid IL or missing references)
15434 //IL_10677: Unknown result type (might be due to invalid IL or missing references)
15435 //IL_10682: Unknown result type (might be due to invalid IL or missing references)
15436 //IL_b1b5: Unknown result type (might be due to invalid IL or missing references)
15437 //IL_b1d2: Unknown result type (might be due to invalid IL or missing references)
15438 //IL_16ca: Unknown result type (might be due to invalid IL or missing references)
15439 //IL_1709: Unknown result type (might be due to invalid IL or missing references)
15440 //IL_170f: Unknown result type (might be due to invalid IL or missing references)
15441 //IL_1ece6: Unknown result type (might be due to invalid IL or missing references)
15442 //IL_1ed29: Unknown result type (might be due to invalid IL or missing references)
15443 //IL_1b290: Unknown result type (might be due to invalid IL or missing references)
15444 //IL_1b2cd: Unknown result type (might be due to invalid IL or missing references)
15445 //IL_1a20c: Unknown result type (might be due to invalid IL or missing references)
15446 //IL_1a217: Unknown result type (might be due to invalid IL or missing references)
15447 //IL_1566e: Unknown result type (might be due to invalid IL or missing references)
15448 //IL_15673: Unknown result type (might be due to invalid IL or missing references)
15449 //IL_10978: Unknown result type (might be due to invalid IL or missing references)
15450 //IL_109cc: Unknown result type (might be due to invalid IL or missing references)
15451 //IL_10aa3: Unknown result type (might be due to invalid IL or missing references)
15452 //IL_10aae: Unknown result type (might be due to invalid IL or missing references)
15453 //IL_e8f4: Unknown result type (might be due to invalid IL or missing references)
15454 //IL_e931: Unknown result type (might be due to invalid IL or missing references)
15455 //IL_b27a: Unknown result type (might be due to invalid IL or missing references)
15456 //IL_b2cb: Unknown result type (might be due to invalid IL or missing references)
15457 //IL_b35e: Unknown result type (might be due to invalid IL or missing references)
15458 //IL_b365: Unknown result type (might be due to invalid IL or missing references)
15459 //IL_b36f: Unknown result type (might be due to invalid IL or missing references)
15460 //IL_b374: Unknown result type (might be due to invalid IL or missing references)
15461 //IL_b379: Unknown result type (might be due to invalid IL or missing references)
15462 //IL_b385: Unknown result type (might be due to invalid IL or missing references)
15463 //IL_b39d: Unknown result type (might be due to invalid IL or missing references)
15464 //IL_1f9ec: Unknown result type (might be due to invalid IL or missing references)
15465 //IL_1f9f1: Unknown result type (might be due to invalid IL or missing references)
15466 //IL_1fa16: Unknown result type (might be due to invalid IL or missing references)
15467 //IL_1fa4b: Unknown result type (might be due to invalid IL or missing references)
15468 //IL_1fa7b: Unknown result type (might be due to invalid IL or missing references)
15469 //IL_1c66f: Unknown result type (might be due to invalid IL or missing references)
15470 //IL_1c6ac: Unknown result type (might be due to invalid IL or missing references)
15471 //IL_1ccc1: Unknown result type (might be due to invalid IL or missing references)
15472 //IL_1ccf2: Unknown result type (might be due to invalid IL or missing references)
15473 //IL_1bcab: Unknown result type (might be due to invalid IL or missing references)
15474 //IL_1bce8: Unknown result type (might be due to invalid IL or missing references)
15475 //IL_1bb14: Unknown result type (might be due to invalid IL or missing references)
15476 //IL_1bb51: Unknown result type (might be due to invalid IL or missing references)
15477 //IL_1aa52: Unknown result type (might be due to invalid IL or missing references)
15478 //IL_1aa8f: Unknown result type (might be due to invalid IL or missing references)
15479 //IL_17b03: Unknown result type (might be due to invalid IL or missing references)
15480 //IL_17b30: Unknown result type (might be due to invalid IL or missing references)
15481 //IL_17b36: Unknown result type (might be due to invalid IL or missing references)
15482 //IL_1569a: Unknown result type (might be due to invalid IL or missing references)
15483 //IL_1569f: Unknown result type (might be due to invalid IL or missing references)
15484 //IL_156ba: Unknown result type (might be due to invalid IL or missing references)
15485 //IL_156c5: Unknown result type (might be due to invalid IL or missing references)
15486 //IL_156ca: Unknown result type (might be due to invalid IL or missing references)
15487 //IL_156ec: Unknown result type (might be due to invalid IL or missing references)
15488 //IL_156f2: Unknown result type (might be due to invalid IL or missing references)
15489 //IL_156f8: Unknown result type (might be due to invalid IL or missing references)
15490 //IL_156fd: Unknown result type (might be due to invalid IL or missing references)
15491 //IL_15703: Unknown result type (might be due to invalid IL or missing references)
15492 //IL_15710: Unknown result type (might be due to invalid IL or missing references)
15493 //IL_15716: Unknown result type (might be due to invalid IL or missing references)
15494 //IL_1571b: Unknown result type (might be due to invalid IL or missing references)
15495 //IL_236d9: Unknown result type (might be due to invalid IL or missing references)
15496 //IL_23701: Unknown result type (might be due to invalid IL or missing references)
15497 //IL_21c01: Unknown result type (might be due to invalid IL or missing references)
15498 //IL_21c21: Unknown result type (might be due to invalid IL or missing references)
15499 //IL_21c41: Unknown result type (might be due to invalid IL or missing references)
15500 //IL_21c59: Unknown result type (might be due to invalid IL or missing references)
15501 //IL_1faa0: Unknown result type (might be due to invalid IL or missing references)
15502 //IL_1f2c4: Unknown result type (might be due to invalid IL or missing references)
15503 //IL_1f2cf: Unknown result type (might be due to invalid IL or missing references)
15504 //IL_1e0b9: Unknown result type (might be due to invalid IL or missing references)
15505 //IL_1e0f6: Unknown result type (might be due to invalid IL or missing references)
15506 //IL_1db2e: Unknown result type (might be due to invalid IL or missing references)
15507 //IL_1db5f: Unknown result type (might be due to invalid IL or missing references)
15508 //IL_1c7b3: Unknown result type (might be due to invalid IL or missing references)
15509 //IL_1c7bd: Unknown result type (might be due to invalid IL or missing references)
15510 //IL_1c7c2: Unknown result type (might be due to invalid IL or missing references)
15511 //IL_1cb7b: Unknown result type (might be due to invalid IL or missing references)
15512 //IL_1cbac: Unknown result type (might be due to invalid IL or missing references)
15513 //IL_1d073: Unknown result type (might be due to invalid IL or missing references)
15514 //IL_1d0a4: Unknown result type (might be due to invalid IL or missing references)
15515 //IL_1b86f: Unknown result type (might be due to invalid IL or missing references)
15516 //IL_1b8a0: Unknown result type (might be due to invalid IL or missing references)
15517 //IL_1a6b2: Unknown result type (might be due to invalid IL or missing references)
15518 //IL_1a6ef: Unknown result type (might be due to invalid IL or missing references)
15519 //IL_17c4a: Unknown result type (might be due to invalid IL or missing references)
15520 //IL_17c4f: Unknown result type (might be due to invalid IL or missing references)
15521 //IL_10760: Unknown result type (might be due to invalid IL or missing references)
15522 //IL_1077d: Unknown result type (might be due to invalid IL or missing references)
15523 //IL_242b: Unknown result type (might be due to invalid IL or missing references)
15524 //IL_2441: Unknown result type (might be due to invalid IL or missing references)
15525 //IL_0cb5: Unknown result type (might be due to invalid IL or missing references)
15526 //IL_0cea: Unknown result type (might be due to invalid IL or missing references)
15527 //IL_0d0f: Unknown result type (might be due to invalid IL or missing references)
15528 //IL_0d11: Unknown result type (might be due to invalid IL or missing references)
15529 //IL_0d15: Unknown result type (might be due to invalid IL or missing references)
15530 //IL_0d41: Unknown result type (might be due to invalid IL or missing references)
15531 //IL_0d5e: Unknown result type (might be due to invalid IL or missing references)
15532 //IL_23749: Unknown result type (might be due to invalid IL or missing references)
15533 //IL_23766: Unknown result type (might be due to invalid IL or missing references)
15534 //IL_1ea05: Unknown result type (might be due to invalid IL or missing references)
15535 //IL_1ea42: Unknown result type (might be due to invalid IL or missing references)
15536 //IL_1ce87: Unknown result type (might be due to invalid IL or missing references)
15537 //IL_1cec4: Unknown result type (might be due to invalid IL or missing references)
15538 //IL_17c76: Unknown result type (might be due to invalid IL or missing references)
15539 //IL_17c7b: Unknown result type (might be due to invalid IL or missing references)
15540 //IL_17c96: Unknown result type (might be due to invalid IL or missing references)
15541 //IL_17ca1: Unknown result type (might be due to invalid IL or missing references)
15542 //IL_17ca6: Unknown result type (might be due to invalid IL or missing references)
15543 //IL_17cc8: Unknown result type (might be due to invalid IL or missing references)
15544 //IL_17cce: Unknown result type (might be due to invalid IL or missing references)
15545 //IL_17cd4: Unknown result type (might be due to invalid IL or missing references)
15546 //IL_17cd9: Unknown result type (might be due to invalid IL or missing references)
15547 //IL_17cdf: Unknown result type (might be due to invalid IL or missing references)
15548 //IL_17cec: Unknown result type (might be due to invalid IL or missing references)
15549 //IL_17cf2: Unknown result type (might be due to invalid IL or missing references)
15550 //IL_17cf7: Unknown result type (might be due to invalid IL or missing references)
15551 //IL_8bfc: Unknown result type (might be due to invalid IL or missing references)
15552 //IL_2458: Unknown result type (might be due to invalid IL or missing references)
15553 //IL_246e: Unknown result type (might be due to invalid IL or missing references)
15554 //IL_0e12: Unknown result type (might be due to invalid IL or missing references)
15555 //IL_0e1a: Unknown result type (might be due to invalid IL or missing references)
15556 //IL_0d7e: Unknown result type (might be due to invalid IL or missing references)
15557 //IL_0d86: Unknown result type (might be due to invalid IL or missing references)
15558 //IL_0dbd: Unknown result type (might be due to invalid IL or missing references)
15559 //IL_0dd6: Unknown result type (might be due to invalid IL or missing references)
15560 //IL_228a8: Unknown result type (might be due to invalid IL or missing references)
15561 //IL_228ad: Unknown result type (might be due to invalid IL or missing references)
15562 //IL_22945: Unknown result type (might be due to invalid IL or missing references)
15563 //IL_2294b: Unknown result type (might be due to invalid IL or missing references)
15564 //IL_22950: Unknown result type (might be due to invalid IL or missing references)
15565 //IL_22955: Unknown result type (might be due to invalid IL or missing references)
15566 //IL_2276f: Unknown result type (might be due to invalid IL or missing references)
15567 //IL_22775: Unknown result type (might be due to invalid IL or missing references)
15568 //IL_2277a: Unknown result type (might be due to invalid IL or missing references)
15569 //IL_2277f: Unknown result type (might be due to invalid IL or missing references)
15570 //IL_22785: Unknown result type (might be due to invalid IL or missing references)
15571 //IL_2278a: Unknown result type (might be due to invalid IL or missing references)
15572 //IL_22790: Unknown result type (might be due to invalid IL or missing references)
15573 //IL_22795: Unknown result type (might be due to invalid IL or missing references)
15574 //IL_2279f: Unknown result type (might be due to invalid IL or missing references)
15575 //IL_227a4: Unknown result type (might be due to invalid IL or missing references)
15576 //IL_227b9: Unknown result type (might be due to invalid IL or missing references)
15577 //IL_227bf: Unknown result type (might be due to invalid IL or missing references)
15578 //IL_22811: Unknown result type (might be due to invalid IL or missing references)
15579 //IL_2281b: Unknown result type (might be due to invalid IL or missing references)
15580 //IL_22820: Unknown result type (might be due to invalid IL or missing references)
15581 //IL_22826: Unknown result type (might be due to invalid IL or missing references)
15582 //IL_22830: Unknown result type (might be due to invalid IL or missing references)
15583 //IL_22835: Unknown result type (might be due to invalid IL or missing references)
15584 //IL_2283a: Unknown result type (might be due to invalid IL or missing references)
15585 //IL_22857: Unknown result type (might be due to invalid IL or missing references)
15586 //IL_2286c: Unknown result type (might be due to invalid IL or missing references)
15587 //IL_22872: Unknown result type (might be due to invalid IL or missing references)
15588 //IL_22874: Unknown result type (might be due to invalid IL or missing references)
15589 //IL_22879: Unknown result type (might be due to invalid IL or missing references)
15590 //IL_22880: Unknown result type (might be due to invalid IL or missing references)
15591 //IL_22886: Unknown result type (might be due to invalid IL or missing references)
15592 //IL_2288b: Unknown result type (might be due to invalid IL or missing references)
15593 //IL_22890: Unknown result type (might be due to invalid IL or missing references)
15594 //IL_1fea6: Unknown result type (might be due to invalid IL or missing references)
15595 //IL_1feac: Unknown result type (might be due to invalid IL or missing references)
15596 //IL_1feb1: Unknown result type (might be due to invalid IL or missing references)
15597 //IL_1feb6: Unknown result type (might be due to invalid IL or missing references)
15598 //IL_1ef66: Unknown result type (might be due to invalid IL or missing references)
15599 //IL_1efa3: Unknown result type (might be due to invalid IL or missing references)
15600 //IL_1e271: Unknown result type (might be due to invalid IL or missing references)
15601 //IL_1e27c: Unknown result type (might be due to invalid IL or missing references)
15602 //IL_1dce6: Unknown result type (might be due to invalid IL or missing references)
15603 //IL_1dcf1: Unknown result type (might be due to invalid IL or missing references)
15604 //IL_1d290: Unknown result type (might be due to invalid IL or missing references)
15605 //IL_1d2cd: Unknown result type (might be due to invalid IL or missing references)
15606 //IL_8eba: Unknown result type (might be due to invalid IL or missing references)
15607 //IL_8c18: Unknown result type (might be due to invalid IL or missing references)
15608 //IL_8c35: Unknown result type (might be due to invalid IL or missing references)
15609 //IL_2909: Unknown result type (might be due to invalid IL or missing references)
15610 //IL_2926: Unknown result type (might be due to invalid IL or missing references)
15611 //IL_264c: Unknown result type (might be due to invalid IL or missing references)
15612 //IL_2662: Unknown result type (might be due to invalid IL or missing references)
15613 //IL_2581: Unknown result type (might be due to invalid IL or missing references)
15614 //IL_2597: Unknown result type (might be due to invalid IL or missing references)
15615 //IL_24c3: Unknown result type (might be due to invalid IL or missing references)
15616 //IL_24ca: Unknown result type (might be due to invalid IL or missing references)
15617 //IL_24cf: Unknown result type (might be due to invalid IL or missing references)
15618 //IL_25e47: Unknown result type (might be due to invalid IL or missing references)
15619 //IL_25e4d: Unknown result type (might be due to invalid IL or missing references)
15620 //IL_25e52: Unknown result type (might be due to invalid IL or missing references)
15621 //IL_25e57: Unknown result type (might be due to invalid IL or missing references)
15622 //IL_22d12: Unknown result type (might be due to invalid IL or missing references)
15623 //IL_22d23: Unknown result type (might be due to invalid IL or missing references)
15624 //IL_1ff79: Unknown result type (might be due to invalid IL or missing references)
15625 //IL_1ff7f: Unknown result type (might be due to invalid IL or missing references)
15626 //IL_1ff84: Unknown result type (might be due to invalid IL or missing references)
15627 //IL_1ff89: Unknown result type (might be due to invalid IL or missing references)
15628 //IL_1fee2: Unknown result type (might be due to invalid IL or missing references)
15629 //IL_1ff1b: Unknown result type (might be due to invalid IL or missing references)
15630 //IL_1ff21: Unknown result type (might be due to invalid IL or missing references)
15631 //IL_1ff63: Unknown result type (might be due to invalid IL or missing references)
15632 //IL_1ff6d: Unknown result type (might be due to invalid IL or missing references)
15633 //IL_1ff72: Unknown result type (might be due to invalid IL or missing references)
15634 //IL_1ebbe: Unknown result type (might be due to invalid IL or missing references)
15635 //IL_1ebc9: Unknown result type (might be due to invalid IL or missing references)
15636 //IL_1a906: Unknown result type (might be due to invalid IL or missing references)
15637 //IL_1a917: Unknown result type (might be due to invalid IL or missing references)
15638 //IL_145ca: Unknown result type (might be due to invalid IL or missing references)
15639 //IL_145e7: Unknown result type (might be due to invalid IL or missing references)
15640 //IL_8cdd: Unknown result type (might be due to invalid IL or missing references)
15641 //IL_8d2e: Unknown result type (might be due to invalid IL or missing references)
15642 //IL_8dd5: Unknown result type (might be due to invalid IL or missing references)
15643 //IL_8de0: Unknown result type (might be due to invalid IL or missing references)
15644 //IL_2679: Unknown result type (might be due to invalid IL or missing references)
15645 //IL_268f: Unknown result type (might be due to invalid IL or missing references)
15646 //IL_25ae: Unknown result type (might be due to invalid IL or missing references)
15647 //IL_25c4: Unknown result type (might be due to invalid IL or missing references)
15648 //IL_0e38: Unknown result type (might be due to invalid IL or missing references)
15649 //IL_0e3f: Unknown result type (might be due to invalid IL or missing references)
15650 //IL_0e4c: Unknown result type (might be due to invalid IL or missing references)
15651 //IL_0e5c: Unknown result type (might be due to invalid IL or missing references)
15652 //IL_0e62: Unknown result type (might be due to invalid IL or missing references)
15653 //IL_26c41: Unknown result type (might be due to invalid IL or missing references)
15654 //IL_22cd7: Unknown result type (might be due to invalid IL or missing references)
15655 //IL_22cdd: Unknown result type (might be due to invalid IL or missing references)
15656 //IL_22ce2: Unknown result type (might be due to invalid IL or missing references)
15657 //IL_22ce7: Unknown result type (might be due to invalid IL or missing references)
15658 //IL_21d82: Unknown result type (might be due to invalid IL or missing references)
15659 //IL_21d9f: Unknown result type (might be due to invalid IL or missing references)
15660 //IL_1f5fd: Unknown result type (might be due to invalid IL or missing references)
15661 //IL_1f625: Unknown result type (might be due to invalid IL or missing references)
15662 //IL_1f11f: Unknown result type (might be due to invalid IL or missing references)
15663 //IL_1f12a: Unknown result type (might be due to invalid IL or missing references)
15664 //IL_1bf7d: Unknown result type (might be due to invalid IL or missing references)
15665 //IL_1bfae: Unknown result type (might be due to invalid IL or missing references)
15666 //IL_1500f: Unknown result type (might be due to invalid IL or missing references)
15667 //IL_15024: Unknown result type (might be due to invalid IL or missing references)
15668 //IL_8f63: Unknown result type (might be due to invalid IL or missing references)
15669 //IL_28ab7: Unknown result type (might be due to invalid IL or missing references)
15670 //IL_28ac2: Unknown result type (might be due to invalid IL or missing references)
15671 //IL_28add: Unknown result type (might be due to invalid IL or missing references)
15672 //IL_28ae7: Unknown result type (might be due to invalid IL or missing references)
15673 //IL_28b05: Unknown result type (might be due to invalid IL or missing references)
15674 //IL_28b0f: Unknown result type (might be due to invalid IL or missing references)
15675 //IL_23953: Unknown result type (might be due to invalid IL or missing references)
15676 //IL_23964: Unknown result type (might be due to invalid IL or missing references)
15677 //IL_2298b: Unknown result type (might be due to invalid IL or missing references)
15678 //IL_229ac: Unknown result type (might be due to invalid IL or missing references)
15679 //IL_229b2: Unknown result type (might be due to invalid IL or missing references)
15680 //IL_2004c: Unknown result type (might be due to invalid IL or missing references)
15681 //IL_20074: Unknown result type (might be due to invalid IL or missing references)
15682 //IL_200af: Unknown result type (might be due to invalid IL or missing references)
15683 //IL_200cc: Unknown result type (might be due to invalid IL or missing references)
15684 //IL_1f6b9: Unknown result type (might be due to invalid IL or missing references)
15685 //IL_1f6c4: Unknown result type (might be due to invalid IL or missing references)
15686 //IL_1a952: Unknown result type (might be due to invalid IL or missing references)
15687 //IL_1a957: Unknown result type (might be due to invalid IL or missing references)
15688 //IL_1a95c: Unknown result type (might be due to invalid IL or missing references)
15689 //IL_1a967: Unknown result type (might be due to invalid IL or missing references)
15690 //IL_1a96c: Unknown result type (might be due to invalid IL or missing references)
15691 //IL_1616d: Unknown result type (might be due to invalid IL or missing references)
15692 //IL_161aa: Unknown result type (might be due to invalid IL or missing references)
15693 //IL_1589e: Unknown result type (might be due to invalid IL or missing references)
15694 //IL_158e1: Unknown result type (might be due to invalid IL or missing references)
15695 //IL_1505f: Unknown result type (might be due to invalid IL or missing references)
15696 //IL_15074: Unknown result type (might be due to invalid IL or missing references)
15697 //IL_8fe3: Unknown result type (might be due to invalid IL or missing references)
15698 //IL_9074: Unknown result type (might be due to invalid IL or missing references)
15699 //IL_9080: Unknown result type (might be due to invalid IL or missing references)
15700 //IL_27a97: Unknown result type (might be due to invalid IL or missing references)
15701 //IL_26ca3: Unknown result type (might be due to invalid IL or missing references)
15702 //IL_26cae: Unknown result type (might be due to invalid IL or missing references)
15703 //IL_26cc8: Unknown result type (might be due to invalid IL or missing references)
15704 //IL_26cd2: Unknown result type (might be due to invalid IL or missing references)
15705 //IL_26cef: Unknown result type (might be due to invalid IL or missing references)
15706 //IL_26cf9: Unknown result type (might be due to invalid IL or missing references)
15707 //IL_26201: Unknown result type (might be due to invalid IL or missing references)
15708 //IL_26214: Unknown result type (might be due to invalid IL or missing references)
15709 //IL_25e90: Unknown result type (might be due to invalid IL or missing references)
15710 //IL_25eaf: Unknown result type (might be due to invalid IL or missing references)
15711 //IL_25eb5: Unknown result type (might be due to invalid IL or missing references)
15712 //IL_25edf: Unknown result type (might be due to invalid IL or missing references)
15713 //IL_25ee9: Unknown result type (might be due to invalid IL or missing references)
15714 //IL_25eee: Unknown result type (might be due to invalid IL or missing references)
15715 //IL_25f4d: Unknown result type (might be due to invalid IL or missing references)
15716 //IL_25f53: Unknown result type (might be due to invalid IL or missing references)
15717 //IL_25f5d: Unknown result type (might be due to invalid IL or missing references)
15718 //IL_25f62: Unknown result type (might be due to invalid IL or missing references)
15719 //IL_25f67: Unknown result type (might be due to invalid IL or missing references)
15720 //IL_17e64: Unknown result type (might be due to invalid IL or missing references)
15721 //IL_17ea1: Unknown result type (might be due to invalid IL or missing references)
15722 //IL_16721: Unknown result type (might be due to invalid IL or missing references)
15723 //IL_16760: Unknown result type (might be due to invalid IL or missing references)
15724 //IL_16766: Unknown result type (might be due to invalid IL or missing references)
15725 //IL_16931: Unknown result type (might be due to invalid IL or missing references)
15726 //IL_16974: Unknown result type (might be due to invalid IL or missing references)
15727 //IL_15905: Unknown result type (might be due to invalid IL or missing references)
15728 //IL_15916: Unknown result type (might be due to invalid IL or missing references)
15729 //IL_1592d: Unknown result type (might be due to invalid IL or missing references)
15730 //IL_15945: Unknown result type (might be due to invalid IL or missing references)
15731 //IL_27ac6: Unknown result type (might be due to invalid IL or missing references)
15732 //IL_27ad9: Unknown result type (might be due to invalid IL or missing references)
15733 //IL_263a5: Unknown result type (might be due to invalid IL or missing references)
15734 //IL_26193: Unknown result type (might be due to invalid IL or missing references)
15735 //IL_26199: Unknown result type (might be due to invalid IL or missing references)
15736 //IL_2619e: Unknown result type (might be due to invalid IL or missing references)
15737 //IL_261a3: Unknown result type (might be due to invalid IL or missing references)
15738 //IL_260c9: Unknown result type (might be due to invalid IL or missing references)
15739 //IL_260e8: Unknown result type (might be due to invalid IL or missing references)
15740 //IL_260ee: Unknown result type (might be due to invalid IL or missing references)
15741 //IL_26118: Unknown result type (might be due to invalid IL or missing references)
15742 //IL_26122: Unknown result type (might be due to invalid IL or missing references)
15743 //IL_26127: Unknown result type (might be due to invalid IL or missing references)
15744 //IL_26172: Unknown result type (might be due to invalid IL or missing references)
15745 //IL_26178: Unknown result type (might be due to invalid IL or missing references)
15746 //IL_26182: Unknown result type (might be due to invalid IL or missing references)
15747 //IL_26187: Unknown result type (might be due to invalid IL or missing references)
15748 //IL_2618c: Unknown result type (might be due to invalid IL or missing references)
15749 //IL_22fb2: Unknown result type (might be due to invalid IL or missing references)
15750 //IL_22ff3: Unknown result type (might be due to invalid IL or missing references)
15751 //IL_229ff: Unknown result type (might be due to invalid IL or missing references)
15752 //IL_22a1f: Unknown result type (might be due to invalid IL or missing references)
15753 //IL_22a25: Unknown result type (might be due to invalid IL or missing references)
15754 //IL_22a67: Unknown result type (might be due to invalid IL or missing references)
15755 //IL_22a71: Unknown result type (might be due to invalid IL or missing references)
15756 //IL_22a76: Unknown result type (might be due to invalid IL or missing references)
15757 //IL_22a91: Unknown result type (might be due to invalid IL or missing references)
15758 //IL_22ab1: Unknown result type (might be due to invalid IL or missing references)
15759 //IL_22ab7: Unknown result type (might be due to invalid IL or missing references)
15760 //IL_22ae7: Unknown result type (might be due to invalid IL or missing references)
15761 //IL_22af1: Unknown result type (might be due to invalid IL or missing references)
15762 //IL_22af6: Unknown result type (might be due to invalid IL or missing references)
15763 //IL_20a47: Unknown result type (might be due to invalid IL or missing references)
15764 //IL_20a4d: Unknown result type (might be due to invalid IL or missing references)
15765 //IL_20a52: Unknown result type (might be due to invalid IL or missing references)
15766 //IL_20a57: Unknown result type (might be due to invalid IL or missing references)
15767 //IL_20a72: Unknown result type (might be due to invalid IL or missing references)
15768 //IL_20aab: Unknown result type (might be due to invalid IL or missing references)
15769 //IL_20ab1: Unknown result type (might be due to invalid IL or missing references)
15770 //IL_20af3: Unknown result type (might be due to invalid IL or missing references)
15771 //IL_20afd: Unknown result type (might be due to invalid IL or missing references)
15772 //IL_20b02: Unknown result type (might be due to invalid IL or missing references)
15773 //IL_20b09: Unknown result type (might be due to invalid IL or missing references)
15774 //IL_20b0f: Unknown result type (might be due to invalid IL or missing references)
15775 //IL_20b14: Unknown result type (might be due to invalid IL or missing references)
15776 //IL_20b19: Unknown result type (might be due to invalid IL or missing references)
15777 //IL_18ea9: Unknown result type (might be due to invalid IL or missing references)
15778 //IL_18ee6: Unknown result type (might be due to invalid IL or missing references)
15779 //IL_186d1: Unknown result type (might be due to invalid IL or missing references)
15780 //IL_1870e: Unknown result type (might be due to invalid IL or missing references)
15781 //IL_17ec5: Unknown result type (might be due to invalid IL or missing references)
15782 //IL_17ed6: Unknown result type (might be due to invalid IL or missing references)
15783 //IL_17eed: Unknown result type (might be due to invalid IL or missing references)
15784 //IL_17f05: Unknown result type (might be due to invalid IL or missing references)
15785 //IL_171a7: Unknown result type (might be due to invalid IL or missing references)
15786 //IL_171e4: Unknown result type (might be due to invalid IL or missing references)
15787 //IL_16998: Unknown result type (might be due to invalid IL or missing references)
15788 //IL_169a9: Unknown result type (might be due to invalid IL or missing references)
15789 //IL_169c0: Unknown result type (might be due to invalid IL or missing references)
15790 //IL_169d8: Unknown result type (might be due to invalid IL or missing references)
15791 //IL_265b1: Unknown result type (might be due to invalid IL or missing references)
15792 //IL_25fc0: Unknown result type (might be due to invalid IL or missing references)
15793 //IL_25fdf: Unknown result type (might be due to invalid IL or missing references)
15794 //IL_25fe5: Unknown result type (might be due to invalid IL or missing references)
15795 //IL_2600f: Unknown result type (might be due to invalid IL or missing references)
15796 //IL_26019: Unknown result type (might be due to invalid IL or missing references)
15797 //IL_2601e: Unknown result type (might be due to invalid IL or missing references)
15798 //IL_2607d: Unknown result type (might be due to invalid IL or missing references)
15799 //IL_26083: Unknown result type (might be due to invalid IL or missing references)
15800 //IL_2608d: Unknown result type (might be due to invalid IL or missing references)
15801 //IL_26092: Unknown result type (might be due to invalid IL or missing references)
15802 //IL_26097: Unknown result type (might be due to invalid IL or missing references)
15803 //IL_21164: Unknown result type (might be due to invalid IL or missing references)
15804 //IL_2116a: Unknown result type (might be due to invalid IL or missing references)
15805 //IL_2116f: Unknown result type (might be due to invalid IL or missing references)
15806 //IL_21174: Unknown result type (might be due to invalid IL or missing references)
15807 //IL_2117a: Unknown result type (might be due to invalid IL or missing references)
15808 //IL_21184: Unknown result type (might be due to invalid IL or missing references)
15809 //IL_21189: Unknown result type (might be due to invalid IL or missing references)
15810 //IL_211b9: Unknown result type (might be due to invalid IL or missing references)
15811 //IL_211bf: Unknown result type (might be due to invalid IL or missing references)
15812 //IL_21201: Unknown result type (might be due to invalid IL or missing references)
15813 //IL_2120b: Unknown result type (might be due to invalid IL or missing references)
15814 //IL_21210: Unknown result type (might be due to invalid IL or missing references)
15815 //IL_2122d: Unknown result type (might be due to invalid IL or missing references)
15816 //IL_21233: Unknown result type (might be due to invalid IL or missing references)
15817 //IL_21238: Unknown result type (might be due to invalid IL or missing references)
15818 //IL_2123d: Unknown result type (might be due to invalid IL or missing references)
15819 //IL_20c16: Unknown result type (might be due to invalid IL or missing references)
15820 //IL_20c33: Unknown result type (might be due to invalid IL or missing references)
15821 //IL_18c85: Unknown result type (might be due to invalid IL or missing references)
15822 //IL_18cc4: Unknown result type (might be due to invalid IL or missing references)
15823 //IL_18cca: Unknown result type (might be due to invalid IL or missing references)
15824 //IL_19997: Unknown result type (might be due to invalid IL or missing references)
15825 //IL_199d4: Unknown result type (might be due to invalid IL or missing references)
15826 //IL_27b00: Unknown result type (might be due to invalid IL or missing references)
15827 //IL_22b37: Unknown result type (might be due to invalid IL or missing references)
15828 //IL_22b70: Unknown result type (might be due to invalid IL or missing references)
15829 //IL_22b75: Unknown result type (might be due to invalid IL or missing references)
15830 //IL_22b7a: Unknown result type (might be due to invalid IL or missing references)
15831 //IL_22b84: Unknown result type (might be due to invalid IL or missing references)
15832 //IL_22b89: Unknown result type (might be due to invalid IL or missing references)
15833 //IL_22b90: Unknown result type (might be due to invalid IL or missing references)
15834 //IL_22b96: Unknown result type (might be due to invalid IL or missing references)
15835 //IL_22be0: Unknown result type (might be due to invalid IL or missing references)
15836 //IL_22bea: Unknown result type (might be due to invalid IL or missing references)
15837 //IL_22bef: Unknown result type (might be due to invalid IL or missing references)
15838 //IL_21270: Unknown result type (might be due to invalid IL or missing references)
15839 //IL_21276: Unknown result type (might be due to invalid IL or missing references)
15840 //IL_2127b: Unknown result type (might be due to invalid IL or missing references)
15841 //IL_21280: Unknown result type (might be due to invalid IL or missing references)
15842 //IL_1659d: Unknown result type (might be due to invalid IL or missing references)
15843 //IL_165cc: Unknown result type (might be due to invalid IL or missing references)
15844 //IL_165e2: Unknown result type (might be due to invalid IL or missing references)
15845 //IL_16611: Unknown result type (might be due to invalid IL or missing references)
15846 //IL_16623: Unknown result type (might be due to invalid IL or missing references)
15847 //IL_16652: Unknown result type (might be due to invalid IL or missing references)
15848 //IL_147db: Unknown result type (might be due to invalid IL or missing references)
15849 //IL_1481c: Unknown result type (might be due to invalid IL or missing references)
15850 //IL_148c9: Unknown result type (might be due to invalid IL or missing references)
15851 //IL_148d4: Unknown result type (might be due to invalid IL or missing references)
15852 //IL_27b5e: Unknown result type (might be due to invalid IL or missing references)
15853 //IL_27b69: Unknown result type (might be due to invalid IL or missing references)
15854 //IL_27b84: Unknown result type (might be due to invalid IL or missing references)
15855 //IL_27b8e: Unknown result type (might be due to invalid IL or missing references)
15856 //IL_27bac: Unknown result type (might be due to invalid IL or missing references)
15857 //IL_27bb6: Unknown result type (might be due to invalid IL or missing references)
15858 //IL_2681e: Unknown result type (might be due to invalid IL or missing references)
15859 //IL_22c8d: Unknown result type (might be due to invalid IL or missing references)
15860 //IL_21615: Unknown result type (might be due to invalid IL or missing references)
15861 //IL_21632: Unknown result type (might be due to invalid IL or missing references)
15862 //IL_21298: Unknown result type (might be due to invalid IL or missing references)
15863 //IL_212a2: Unknown result type (might be due to invalid IL or missing references)
15864 //IL_212a7: Unknown result type (might be due to invalid IL or missing references)
15865 //IL_212ac: Unknown result type (might be due to invalid IL or missing references)
15866 //IL_20d1b: Unknown result type (might be due to invalid IL or missing references)
15867 //IL_1fdaf: Unknown result type (might be due to invalid IL or missing references)
15868 //IL_1927c: Unknown result type (might be due to invalid IL or missing references)
15869 //IL_19299: Unknown result type (might be due to invalid IL or missing references)
15870 //IL_29307: Unknown result type (might be due to invalid IL or missing references)
15871 //IL_29313: Unknown result type (might be due to invalid IL or missing references)
15872 //IL_29354: Unknown result type (might be due to invalid IL or missing references)
15873 //IL_29360: Unknown result type (might be due to invalid IL or missing references)
15874 //IL_293a1: Unknown result type (might be due to invalid IL or missing references)
15875 //IL_293ad: Unknown result type (might be due to invalid IL or missing references)
15876 //IL_270e0: Unknown result type (might be due to invalid IL or missing references)
15877 //IL_270eb: Unknown result type (might be due to invalid IL or missing references)
15878 //IL_27113: Unknown result type (might be due to invalid IL or missing references)
15879 //IL_2711e: Unknown result type (might be due to invalid IL or missing references)
15880 //IL_216ee: Unknown result type (might be due to invalid IL or missing references)
15881 //IL_20d6e: Unknown result type (might be due to invalid IL or missing references)
15882 //IL_1fdc7: Unknown result type (might be due to invalid IL or missing references)
15883 //IL_18b01: Unknown result type (might be due to invalid IL or missing references)
15884 //IL_18b30: Unknown result type (might be due to invalid IL or missing references)
15885 //IL_18b46: Unknown result type (might be due to invalid IL or missing references)
15886 //IL_18b75: Unknown result type (might be due to invalid IL or missing references)
15887 //IL_18b87: Unknown result type (might be due to invalid IL or missing references)
15888 //IL_18bb6: Unknown result type (might be due to invalid IL or missing references)
15889 //IL_16689: Unknown result type (might be due to invalid IL or missing references)
15890 //IL_166c8: Unknown result type (might be due to invalid IL or missing references)
15891 //IL_166ce: Unknown result type (might be due to invalid IL or missing references)
15892 //IL_17467: Unknown result type (might be due to invalid IL or missing references)
15893 //IL_174a4: Unknown result type (might be due to invalid IL or missing references)
15894 //IL_2cd1d: Unknown result type (might be due to invalid IL or missing references)
15895 //IL_2cd28: Unknown result type (might be due to invalid IL or missing references)
15896 //IL_2cd43: Unknown result type (might be due to invalid IL or missing references)
15897 //IL_2cd4d: Unknown result type (might be due to invalid IL or missing references)
15898 //IL_2cd6b: Unknown result type (might be due to invalid IL or missing references)
15899 //IL_2cd75: Unknown result type (might be due to invalid IL or missing references)
15900 //IL_2ce67: Unknown result type (might be due to invalid IL or missing references)
15901 //IL_2ce6d: Unknown result type (might be due to invalid IL or missing references)
15902 //IL_2ce72: Unknown result type (might be due to invalid IL or missing references)
15903 //IL_2ce77: Unknown result type (might be due to invalid IL or missing references)
15904 //IL_2ce7d: Unknown result type (might be due to invalid IL or missing references)
15905 //IL_2cea0: Unknown result type (might be due to invalid IL or missing references)
15906 //IL_2cea6: Unknown result type (might be due to invalid IL or missing references)
15907 //IL_2ced6: Unknown result type (might be due to invalid IL or missing references)
15908 //IL_2cee0: Unknown result type (might be due to invalid IL or missing references)
15909 //IL_2cee5: Unknown result type (might be due to invalid IL or missing references)
15910 //IL_2cf14: Unknown result type (might be due to invalid IL or missing references)
15911 //IL_2cf1a: Unknown result type (might be due to invalid IL or missing references)
15912 //IL_2cf1f: Unknown result type (might be due to invalid IL or missing references)
15913 //IL_2cf24: Unknown result type (might be due to invalid IL or missing references)
15914 //IL_2b928: Unknown result type (might be due to invalid IL or missing references)
15915 //IL_2b93e: Unknown result type (might be due to invalid IL or missing references)
15916 //IL_2b94f: Unknown result type (might be due to invalid IL or missing references)
15917 //IL_2b965: Unknown result type (might be due to invalid IL or missing references)
15918 //IL_2929c: Unknown result type (might be due to invalid IL or missing references)
15919 //IL_292ad: Unknown result type (might be due to invalid IL or missing references)
15920 //IL_2716d: Unknown result type (might be due to invalid IL or missing references)
15921 //IL_27178: Unknown result type (might be due to invalid IL or missing references)
15922 //IL_24a8c: Unknown result type (might be due to invalid IL or missing references)
15923 //IL_24ac9: Unknown result type (might be due to invalid IL or missing references)
15924 //IL_24740: Unknown result type (might be due to invalid IL or missing references)
15925 //IL_24783: Unknown result type (might be due to invalid IL or missing references)
15926 //IL_21741: Unknown result type (might be due to invalid IL or missing references)
15927 //IL_21515: Unknown result type (might be due to invalid IL or missing references)
15928 //IL_21536: Unknown result type (might be due to invalid IL or missing references)
15929 //IL_2153c: Unknown result type (might be due to invalid IL or missing references)
15930 //IL_21566: Unknown result type (might be due to invalid IL or missing references)
15931 //IL_21575: Unknown result type (might be due to invalid IL or missing references)
15932 //IL_2157a: Unknown result type (might be due to invalid IL or missing references)
15933 //IL_212be: Unknown result type (might be due to invalid IL or missing references)
15934 //IL_212d7: Unknown result type (might be due to invalid IL or missing references)
15935 //IL_212dd: Unknown result type (might be due to invalid IL or missing references)
15936 //IL_2131f: Unknown result type (might be due to invalid IL or missing references)
15937 //IL_21329: Unknown result type (might be due to invalid IL or missing references)
15938 //IL_2132e: Unknown result type (might be due to invalid IL or missing references)
15939 //IL_21333: Unknown result type (might be due to invalid IL or missing references)
15940 //IL_2134c: Unknown result type (might be due to invalid IL or missing references)
15941 //IL_21352: Unknown result type (might be due to invalid IL or missing references)
15942 //IL_21382: Unknown result type (might be due to invalid IL or missing references)
15943 //IL_2138c: Unknown result type (might be due to invalid IL or missing references)
15944 //IL_21391: Unknown result type (might be due to invalid IL or missing references)
15945 //IL_19745: Unknown result type (might be due to invalid IL or missing references)
15946 //IL_19788: Unknown result type (might be due to invalid IL or missing references)
15947 //IL_1979a: Unknown result type (might be due to invalid IL or missing references)
15948 //IL_197ab: Unknown result type (might be due to invalid IL or missing references)
15949 //IL_197c2: Unknown result type (might be due to invalid IL or missing references)
15950 //IL_197da: Unknown result type (might be due to invalid IL or missing references)
15951 //IL_19306: Unknown result type (might be due to invalid IL or missing references)
15952 //IL_16d80: Unknown result type (might be due to invalid IL or missing references)
15953 //IL_16dbd: Unknown result type (might be due to invalid IL or missing references)
15954 //IL_2c880: Unknown result type (might be due to invalid IL or missing references)
15955 //IL_2c88b: Unknown result type (might be due to invalid IL or missing references)
15956 //IL_2c8a5: Unknown result type (might be due to invalid IL or missing references)
15957 //IL_2c8af: Unknown result type (might be due to invalid IL or missing references)
15958 //IL_2c8cc: Unknown result type (might be due to invalid IL or missing references)
15959 //IL_2c8d6: Unknown result type (might be due to invalid IL or missing references)
15960 //IL_2c1c1: Unknown result type (might be due to invalid IL or missing references)
15961 //IL_2c1cc: Unknown result type (might be due to invalid IL or missing references)
15962 //IL_2c1e7: Unknown result type (might be due to invalid IL or missing references)
15963 //IL_2c1f1: Unknown result type (might be due to invalid IL or missing references)
15964 //IL_2c20f: Unknown result type (might be due to invalid IL or missing references)
15965 //IL_2c219: Unknown result type (might be due to invalid IL or missing references)
15966 //IL_26f30: Unknown result type (might be due to invalid IL or missing references)
15967 //IL_26f3b: Unknown result type (might be due to invalid IL or missing references)
15968 //IL_26f91: Unknown result type (might be due to invalid IL or missing references)
15969 //IL_26fd2: Unknown result type (might be due to invalid IL or missing references)
15970 //IL_23cc4: Unknown result type (might be due to invalid IL or missing references)
15971 //IL_23cda: Unknown result type (might be due to invalid IL or missing references)
15972 //IL_215df: Unknown result type (might be due to invalid IL or missing references)
15973 //IL_215e5: Unknown result type (might be due to invalid IL or missing references)
15974 //IL_215ea: Unknown result type (might be due to invalid IL or missing references)
15975 //IL_215ef: Unknown result type (might be due to invalid IL or missing references)
15976 //IL_18bed: Unknown result type (might be due to invalid IL or missing references)
15977 //IL_18c2c: Unknown result type (might be due to invalid IL or missing references)
15978 //IL_18c32: Unknown result type (might be due to invalid IL or missing references)
15979 //IL_2cbf9: Unknown result type (might be due to invalid IL or missing references)
15980 //IL_2cc04: Unknown result type (might be due to invalid IL or missing references)
15981 //IL_2cc1e: Unknown result type (might be due to invalid IL or missing references)
15982 //IL_2cc28: Unknown result type (might be due to invalid IL or missing references)
15983 //IL_2cc45: Unknown result type (might be due to invalid IL or missing references)
15984 //IL_2cc4f: Unknown result type (might be due to invalid IL or missing references)
15985 //IL_2cb46: Unknown result type (might be due to invalid IL or missing references)
15986 //IL_2cb4c: Unknown result type (might be due to invalid IL or missing references)
15987 //IL_2cb51: Unknown result type (might be due to invalid IL or missing references)
15988 //IL_2cb56: Unknown result type (might be due to invalid IL or missing references)
15989 //IL_2b7ee: Unknown result type (might be due to invalid IL or missing references)
15990 //IL_2b7ff: Unknown result type (might be due to invalid IL or missing references)
15991 //IL_2b8cd: Unknown result type (might be due to invalid IL or missing references)
15992 //IL_2b8d2: Unknown result type (might be due to invalid IL or missing references)
15993 //IL_29459: Unknown result type (might be due to invalid IL or missing references)
15994 //IL_2947c: Unknown result type (might be due to invalid IL or missing references)
15995 //IL_28e0f: Unknown result type (might be due to invalid IL or missing references)
15996 //IL_28e2c: Unknown result type (might be due to invalid IL or missing references)
15997 //IL_27069: Unknown result type (might be due to invalid IL or missing references)
15998 //IL_27074: Unknown result type (might be due to invalid IL or missing references)
15999 //IL_25ce5: Unknown result type (might be due to invalid IL or missing references)
16000 //IL_25ceb: Unknown result type (might be due to invalid IL or missing references)
16001 //IL_25cf0: Unknown result type (might be due to invalid IL or missing references)
16002 //IL_25cf5: Unknown result type (might be due to invalid IL or missing references)
16003 //IL_25d06: Unknown result type (might be due to invalid IL or missing references)
16004 //IL_25d12: Unknown result type (might be due to invalid IL or missing references)
16005 //IL_25d17: Unknown result type (might be due to invalid IL or missing references)
16006 //IL_25d1f: Unknown result type (might be due to invalid IL or missing references)
16007 //IL_25d2a: Unknown result type (might be due to invalid IL or missing references)
16008 //IL_25d2f: Unknown result type (might be due to invalid IL or missing references)
16009 //IL_25d35: Unknown result type (might be due to invalid IL or missing references)
16010 //IL_25d46: Unknown result type (might be due to invalid IL or missing references)
16011 //IL_25d4b: Unknown result type (might be due to invalid IL or missing references)
16012 //IL_25321: Unknown result type (might be due to invalid IL or missing references)
16013 //IL_25364: Unknown result type (might be due to invalid IL or missing references)
16014 //IL_24d0f: Unknown result type (might be due to invalid IL or missing references)
16015 //IL_24d23: Unknown result type (might be due to invalid IL or missing references)
16016 //IL_213d1: Unknown result type (might be due to invalid IL or missing references)
16017 //IL_21403: Unknown result type (might be due to invalid IL or missing references)
16018 //IL_21408: Unknown result type (might be due to invalid IL or missing references)
16019 //IL_2140d: Unknown result type (might be due to invalid IL or missing references)
16020 //IL_21417: Unknown result type (might be due to invalid IL or missing references)
16021 //IL_2141c: Unknown result type (might be due to invalid IL or missing references)
16022 //IL_21423: Unknown result type (might be due to invalid IL or missing references)
16023 //IL_21429: Unknown result type (might be due to invalid IL or missing references)
16024 //IL_21473: Unknown result type (might be due to invalid IL or missing references)
16025 //IL_2147d: Unknown result type (might be due to invalid IL or missing references)
16026 //IL_21482: Unknown result type (might be due to invalid IL or missing references)
16027 //IL_1836a: Unknown result type (might be due to invalid IL or missing references)
16028 //IL_183a7: Unknown result type (might be due to invalid IL or missing references)
16029 //IL_2cbb1: Unknown result type (might be due to invalid IL or missing references)
16030 //IL_2cbbc: Unknown result type (might be due to invalid IL or missing references)
16031 //IL_2cbc1: Unknown result type (might be due to invalid IL or missing references)
16032 //IL_2cbc9: Unknown result type (might be due to invalid IL or missing references)
16033 //IL_2cbd3: Unknown result type (might be due to invalid IL or missing references)
16034 //IL_2cbd8: Unknown result type (might be due to invalid IL or missing references)
16035 //IL_2cbde: Unknown result type (might be due to invalid IL or missing references)
16036 //IL_2cbe8: Unknown result type (might be due to invalid IL or missing references)
16037 //IL_2cbed: Unknown result type (might be due to invalid IL or missing references)
16038 //IL_2cb6e: Unknown result type (might be due to invalid IL or missing references)
16039 //IL_2cb79: Unknown result type (might be due to invalid IL or missing references)
16040 //IL_2cb7e: Unknown result type (might be due to invalid IL or missing references)
16041 //IL_2cb86: Unknown result type (might be due to invalid IL or missing references)
16042 //IL_2cb90: Unknown result type (might be due to invalid IL or missing references)
16043 //IL_2cb95: Unknown result type (might be due to invalid IL or missing references)
16044 //IL_2cb9b: Unknown result type (might be due to invalid IL or missing references)
16045 //IL_2cba5: Unknown result type (might be due to invalid IL or missing references)
16046 //IL_2cbaa: Unknown result type (might be due to invalid IL or missing references)
16047 //IL_2bbee: Unknown result type (might be due to invalid IL or missing references)
16048 //IL_2bbf9: Unknown result type (might be due to invalid IL or missing references)
16049 //IL_2bc14: Unknown result type (might be due to invalid IL or missing references)
16050 //IL_2bc1e: Unknown result type (might be due to invalid IL or missing references)
16051 //IL_2bc3c: Unknown result type (might be due to invalid IL or missing references)
16052 //IL_2bc46: Unknown result type (might be due to invalid IL or missing references)
16053 //IL_2ba25: Unknown result type (might be due to invalid IL or missing references)
16054 //IL_2ba54: Unknown result type (might be due to invalid IL or missing references)
16055 //IL_2ba6a: Unknown result type (might be due to invalid IL or missing references)
16056 //IL_2ba99: Unknown result type (might be due to invalid IL or missing references)
16057 //IL_2baaf: Unknown result type (might be due to invalid IL or missing references)
16058 //IL_2bade: Unknown result type (might be due to invalid IL or missing references)
16059 //IL_2baf4: Unknown result type (might be due to invalid IL or missing references)
16060 //IL_2bb23: Unknown result type (might be due to invalid IL or missing references)
16061 //IL_23e81: Unknown result type (might be due to invalid IL or missing references)
16062 //IL_23ebe: Unknown result type (might be due to invalid IL or missing references)
16063 //IL_15eda: Unknown result type (might be due to invalid IL or missing references)
16064 //IL_15f17: Unknown result type (might be due to invalid IL or missing references)
16065 //IL_2e5d7: Unknown result type (might be due to invalid IL or missing references)
16066 //IL_2a8e7: Unknown result type (might be due to invalid IL or missing references)
16067 //IL_25745: Unknown result type (might be due to invalid IL or missing references)
16068 //IL_25750: Unknown result type (might be due to invalid IL or missing references)
16069 //IL_25761: Unknown result type (might be due to invalid IL or missing references)
16070 //IL_25774: Unknown result type (might be due to invalid IL or missing references)
16071 //IL_24f33: Unknown result type (might be due to invalid IL or missing references)
16072 //IL_24f39: Unknown result type (might be due to invalid IL or missing references)
16073 //IL_24f6a: Unknown result type (might be due to invalid IL or missing references)
16074 //IL_24fa7: Unknown result type (might be due to invalid IL or missing references)
16075 //IL_24ebd: Unknown result type (might be due to invalid IL or missing references)
16076 //IL_24ec8: Unknown result type (might be due to invalid IL or missing references)
16077 //IL_24ed9: Unknown result type (might be due to invalid IL or missing references)
16078 //IL_24eec: Unknown result type (might be due to invalid IL or missing references)
16079 //IL_24db0: Unknown result type (might be due to invalid IL or missing references)
16080 //IL_24dbc: Unknown result type (might be due to invalid IL or missing references)
16081 //IL_24e0b: Unknown result type (might be due to invalid IL or missing references)
16082 //IL_24e11: Unknown result type (might be due to invalid IL or missing references)
16083 //IL_24e16: Unknown result type (might be due to invalid IL or missing references)
16084 //IL_24e1b: Unknown result type (might be due to invalid IL or missing references)
16085 //IL_24e60: Unknown result type (might be due to invalid IL or missing references)
16086 //IL_24e6a: Unknown result type (might be due to invalid IL or missing references)
16087 //IL_24e6f: Unknown result type (might be due to invalid IL or missing references)
16088 //IL_184ea: Unknown result type (might be due to invalid IL or missing references)
16089 //IL_184f5: Unknown result type (might be due to invalid IL or missing references)
16090 //IL_2cfbd: Unknown result type (might be due to invalid IL or missing references)
16091 //IL_2cfcc: Unknown result type (might be due to invalid IL or missing references)
16092 //IL_2cfd1: Unknown result type (might be due to invalid IL or missing references)
16093 //IL_2c01d: Unknown result type (might be due to invalid IL or missing references)
16094 //IL_2c027: Unknown result type (might be due to invalid IL or missing references)
16095 //IL_2c02c: Unknown result type (might be due to invalid IL or missing references)
16096 //IL_2bb42: Unknown result type (might be due to invalid IL or missing references)
16097 //IL_2bb81: Unknown result type (might be due to invalid IL or missing references)
16098 //IL_2bb87: Unknown result type (might be due to invalid IL or missing references)
16099 //IL_2a911: Unknown result type (might be due to invalid IL or missing references)
16100 //IL_25482: Unknown result type (might be due to invalid IL or missing references)
16101 //IL_25496: Unknown result type (might be due to invalid IL or missing references)
16102 //IL_251a0: Unknown result type (might be due to invalid IL or missing references)
16103 //IL_251aa: Unknown result type (might be due to invalid IL or missing references)
16104 //IL_251af: Unknown result type (might be due to invalid IL or missing references)
16105 //IL_24b5e: Unknown result type (might be due to invalid IL or missing references)
16106 //IL_24b6f: Unknown result type (might be due to invalid IL or missing references)
16107 //IL_24b74: Unknown result type (might be due to invalid IL or missing references)
16108 //IL_24b79: Unknown result type (might be due to invalid IL or missing references)
16109 //IL_1605a: Unknown result type (might be due to invalid IL or missing references)
16110 //IL_16065: Unknown result type (might be due to invalid IL or missing references)
16111 //IL_31ef7: Unknown result type (might be due to invalid IL or missing references)
16112 //IL_31f0d: Unknown result type (might be due to invalid IL or missing references)
16113 //IL_31f51: Unknown result type (might be due to invalid IL or missing references)
16114 //IL_31f79: Unknown result type (might be due to invalid IL or missing references)
16115 //IL_31fed: Unknown result type (might be due to invalid IL or missing references)
16116 //IL_32000: Unknown result type (might be due to invalid IL or missing references)
16117 //IL_2cff8: Unknown result type (might be due to invalid IL or missing references)
16118 //IL_2d007: Unknown result type (might be due to invalid IL or missing references)
16119 //IL_2d00c: Unknown result type (might be due to invalid IL or missing references)
16120 //IL_2ca47: Unknown result type (might be due to invalid IL or missing references)
16121 //IL_2ca52: Unknown result type (might be due to invalid IL or missing references)
16122 //IL_2ca6d: Unknown result type (might be due to invalid IL or missing references)
16123 //IL_2ca77: Unknown result type (might be due to invalid IL or missing references)
16124 //IL_2ca95: Unknown result type (might be due to invalid IL or missing references)
16125 //IL_2ca9f: Unknown result type (might be due to invalid IL or missing references)
16126 //IL_29675: Unknown result type (might be due to invalid IL or missing references)
16127 //IL_2967f: Unknown result type (might be due to invalid IL or missing references)
16128 //IL_2969d: Unknown result type (might be due to invalid IL or missing references)
16129 //IL_296a7: Unknown result type (might be due to invalid IL or missing references)
16130 //IL_27311: Unknown result type (might be due to invalid IL or missing references)
16131 //IL_27352: Unknown result type (might be due to invalid IL or missing references)
16132 //IL_257d3: Unknown result type (might be due to invalid IL or missing references)
16133 //IL_257d9: Unknown result type (might be due to invalid IL or missing references)
16134 //IL_2580a: Unknown result type (might be due to invalid IL or missing references)
16135 //IL_25847: Unknown result type (might be due to invalid IL or missing references)
16136 //IL_254cd: Unknown result type (might be due to invalid IL or missing references)
16137 //IL_24485: Unknown result type (might be due to invalid IL or missing references)
16138 //IL_2449b: Unknown result type (might be due to invalid IL or missing references)
16139 //IL_24441: Unknown result type (might be due to invalid IL or missing references)
16140 //IL_24457: Unknown result type (might be due to invalid IL or missing references)
16141 //IL_20810: Unknown result type (might be due to invalid IL or missing references)
16142 //IL_2081a: Unknown result type (might be due to invalid IL or missing references)
16143 //IL_2081f: Unknown result type (might be due to invalid IL or missing references)
16144 //IL_206ee: Unknown result type (might be due to invalid IL or missing references)
16145 //IL_206f8: Unknown result type (might be due to invalid IL or missing references)
16146 //IL_206fd: Unknown result type (might be due to invalid IL or missing references)
16147 //IL_205b5: Unknown result type (might be due to invalid IL or missing references)
16148 //IL_205bf: Unknown result type (might be due to invalid IL or missing references)
16149 //IL_205c4: Unknown result type (might be due to invalid IL or missing references)
16150 //IL_194bc: Unknown result type (might be due to invalid IL or missing references)
16151 //IL_194f9: Unknown result type (might be due to invalid IL or missing references)
16152 //IL_175ff: Unknown result type (might be due to invalid IL or missing references)
16153 //IL_1761c: Unknown result type (might be due to invalid IL or missing references)
16154 //IL_16ef5: Unknown result type (might be due to invalid IL or missing references)
16155 //IL_16f12: Unknown result type (might be due to invalid IL or missing references)
16156 //IL_323b9: Unknown result type (might be due to invalid IL or missing references)
16157 //IL_323cf: Unknown result type (might be due to invalid IL or missing references)
16158 //IL_32413: Unknown result type (might be due to invalid IL or missing references)
16159 //IL_32431: Unknown result type (might be due to invalid IL or missing references)
16160 //IL_3243b: Unknown result type (might be due to invalid IL or missing references)
16161 //IL_300fd: Unknown result type (might be due to invalid IL or missing references)
16162 //IL_30113: Unknown result type (might be due to invalid IL or missing references)
16163 //IL_3012a: Unknown result type (might be due to invalid IL or missing references)
16164 //IL_30140: Unknown result type (might be due to invalid IL or missing references)
16165 //IL_300ac: Unknown result type (might be due to invalid IL or missing references)
16166 //IL_300c2: Unknown result type (might be due to invalid IL or missing references)
16167 //IL_2c6a7: Unknown result type (might be due to invalid IL or missing references)
16168 //IL_2b45b: Unknown result type (might be due to invalid IL or missing references)
16169 //IL_2b473: Unknown result type (might be due to invalid IL or missing references)
16170 //IL_273e6: Unknown result type (might be due to invalid IL or missing references)
16171 //IL_273f1: Unknown result type (might be due to invalid IL or missing references)
16172 //IL_196b3: Unknown result type (might be due to invalid IL or missing references)
16173 //IL_196be: Unknown result type (might be due to invalid IL or missing references)
16174 //IL_1963f: Unknown result type (might be due to invalid IL or missing references)
16175 //IL_1964a: Unknown result type (might be due to invalid IL or missing references)
16176 //IL_19650: Unknown result type (might be due to invalid IL or missing references)
16177 //IL_1965a: Unknown result type (might be due to invalid IL or missing references)
16178 //IL_1965f: Unknown result type (might be due to invalid IL or missing references)
16179 //IL_19664: Unknown result type (might be due to invalid IL or missing references)
16180 //IL_1966a: Unknown result type (might be due to invalid IL or missing references)
16181 //IL_1967b: Unknown result type (might be due to invalid IL or missing references)
16182 //IL_1968d: Unknown result type (might be due to invalid IL or missing references)
16183 //IL_19692: Unknown result type (might be due to invalid IL or missing references)
16184 //IL_1969d: Unknown result type (might be due to invalid IL or missing references)
16185 //IL_196a2: Unknown result type (might be due to invalid IL or missing references)
16186 //IL_196a7: Unknown result type (might be due to invalid IL or missing references)
16187 //IL_1772a: Unknown result type (might be due to invalid IL or missing references)
16188 //IL_17735: Unknown result type (might be due to invalid IL or missing references)
16189 //IL_30c82: Unknown result type (might be due to invalid IL or missing references)
16190 //IL_30c8d: Unknown result type (might be due to invalid IL or missing references)
16191 //IL_30d0d: Unknown result type (might be due to invalid IL or missing references)
16192 //IL_30d17: Unknown result type (might be due to invalid IL or missing references)
16193 //IL_30d1c: Unknown result type (might be due to invalid IL or missing references)
16194 //IL_30178: Unknown result type (might be due to invalid IL or missing references)
16195 //IL_3018e: Unknown result type (might be due to invalid IL or missing references)
16196 //IL_2f1f4: Unknown result type (might be due to invalid IL or missing references)
16197 //IL_2f21c: Unknown result type (might be due to invalid IL or missing references)
16198 //IL_2f296: Unknown result type (might be due to invalid IL or missing references)
16199 //IL_2f2a1: Unknown result type (might be due to invalid IL or missing references)
16200 //IL_2e1ed: Unknown result type (might be due to invalid IL or missing references)
16201 //IL_2e203: Unknown result type (might be due to invalid IL or missing references)
16202 //IL_2c0d9: Unknown result type (might be due to invalid IL or missing references)
16203 //IL_244e6: Unknown result type (might be due to invalid IL or missing references)
16204 //IL_244f0: Unknown result type (might be due to invalid IL or missing references)
16205 //IL_244f5: Unknown result type (might be due to invalid IL or missing references)
16206 //IL_17032: Unknown result type (might be due to invalid IL or missing references)
16207 //IL_1703d: Unknown result type (might be due to invalid IL or missing references)
16208 //IL_32106: Unknown result type (might be due to invalid IL or missing references)
16209 //IL_32110: Unknown result type (might be due to invalid IL or missing references)
16210 //IL_32115: Unknown result type (might be due to invalid IL or missing references)
16211 //IL_31067: Unknown result type (might be due to invalid IL or missing references)
16212 //IL_3106c: Unknown result type (might be due to invalid IL or missing references)
16213 //IL_31072: Unknown result type (might be due to invalid IL or missing references)
16214 //IL_31078: Unknown result type (might be due to invalid IL or missing references)
16215 //IL_3107d: Unknown result type (might be due to invalid IL or missing references)
16216 //IL_31083: Unknown result type (might be due to invalid IL or missing references)
16217 //IL_3108e: Unknown result type (might be due to invalid IL or missing references)
16218 //IL_30f51: Unknown result type (might be due to invalid IL or missing references)
16219 //IL_30f67: Unknown result type (might be due to invalid IL or missing references)
16220 //IL_2e6d4: Unknown result type (might be due to invalid IL or missing references)
16221 //IL_2e6e3: Unknown result type (might be due to invalid IL or missing references)
16222 //IL_2be04: Unknown result type (might be due to invalid IL or missing references)
16223 //IL_2be1e: Unknown result type (might be due to invalid IL or missing references)
16224 //IL_274d5: Unknown result type (might be due to invalid IL or missing references)
16225 //IL_274e8: Unknown result type (might be due to invalid IL or missing references)
16226 //IL_2452e: Unknown result type (might be due to invalid IL or missing references)
16227 //IL_24538: Unknown result type (might be due to invalid IL or missing references)
16228 //IL_2453d: Unknown result type (might be due to invalid IL or missing references)
16229 //IL_22492: Unknown result type (might be due to invalid IL or missing references)
16230 //IL_224a5: Unknown result type (might be due to invalid IL or missing references)
16231 //IL_329ae: Unknown result type (might be due to invalid IL or missing references)
16232 //IL_329b3: Unknown result type (might be due to invalid IL or missing references)
16233 //IL_329b8: Unknown result type (might be due to invalid IL or missing references)
16234 //IL_329c6: Unknown result type (might be due to invalid IL or missing references)
16235 //IL_310a1: Unknown result type (might be due to invalid IL or missing references)
16236 //IL_310ac: Unknown result type (might be due to invalid IL or missing references)
16237 //IL_30821: Unknown result type (might be due to invalid IL or missing references)
16238 //IL_30837: Unknown result type (might be due to invalid IL or missing references)
16239 //IL_2f405: Unknown result type (might be due to invalid IL or missing references)
16240 //IL_2f41e: Unknown result type (might be due to invalid IL or missing references)
16241 //IL_2f441: Unknown result type (might be due to invalid IL or missing references)
16242 //IL_2f45a: Unknown result type (might be due to invalid IL or missing references)
16243 //IL_2f485: Unknown result type (might be due to invalid IL or missing references)
16244 //IL_2f4a3: Unknown result type (might be due to invalid IL or missing references)
16245 //IL_2f4c2: Unknown result type (might be due to invalid IL or missing references)
16246 //IL_2f4db: Unknown result type (might be due to invalid IL or missing references)
16247 //IL_2f4f7: Unknown result type (might be due to invalid IL or missing references)
16248 //IL_2f510: Unknown result type (might be due to invalid IL or missing references)
16249 //IL_2f83b: Unknown result type (might be due to invalid IL or missing references)
16250 //IL_2f86c: Unknown result type (might be due to invalid IL or missing references)
16251 //IL_2e72c: Unknown result type (might be due to invalid IL or missing references)
16252 //IL_2e754: Unknown result type (might be due to invalid IL or missing references)
16253 //IL_2e86a: Unknown result type (might be due to invalid IL or missing references)
16254 //IL_2e875: Unknown result type (might be due to invalid IL or missing references)
16255 //IL_297d3: Unknown result type (might be due to invalid IL or missing references)
16256 //IL_297de: Unknown result type (might be due to invalid IL or missing references)
16257 //IL_297f3: Unknown result type (might be due to invalid IL or missing references)
16258 //IL_2980b: Unknown result type (might be due to invalid IL or missing references)
16259 //IL_27fbc: Unknown result type (might be due to invalid IL or missing references)
16260 //IL_27fc7: Unknown result type (might be due to invalid IL or missing references)
16261 //IL_28030: Unknown result type (might be due to invalid IL or missing references)
16262 //IL_28071: Unknown result type (might be due to invalid IL or missing references)
16263 //IL_32d9d: Unknown result type (might be due to invalid IL or missing references)
16264 //IL_32db2: Unknown result type (might be due to invalid IL or missing references)
16265 //IL_32a0c: Unknown result type (might be due to invalid IL or missing references)
16266 //IL_3273c: Unknown result type (might be due to invalid IL or missing references)
16267 //IL_32752: Unknown result type (might be due to invalid IL or missing references)
16268 //IL_310bf: Unknown result type (might be due to invalid IL or missing references)
16269 //IL_30889: Unknown result type (might be due to invalid IL or missing references)
16270 //IL_3089f: Unknown result type (might be due to invalid IL or missing references)
16271 //IL_2f543: Unknown result type (might be due to invalid IL or missing references)
16272 //IL_2f55c: Unknown result type (might be due to invalid IL or missing references)
16273 //IL_2f57d: Unknown result type (might be due to invalid IL or missing references)
16274 //IL_2f58d: Unknown result type (might be due to invalid IL or missing references)
16275 //IL_2fa99: Unknown result type (might be due to invalid IL or missing references)
16276 //IL_2fab2: Unknown result type (might be due to invalid IL or missing references)
16277 //IL_2fac3: Unknown result type (might be due to invalid IL or missing references)
16278 //IL_2fadc: Unknown result type (might be due to invalid IL or missing references)
16279 //IL_2d582: Unknown result type (might be due to invalid IL or missing references)
16280 //IL_2d5aa: Unknown result type (might be due to invalid IL or missing references)
16281 //IL_2d67e: Unknown result type (might be due to invalid IL or missing references)
16282 //IL_2d689: Unknown result type (might be due to invalid IL or missing references)
16283 //IL_2d194: Unknown result type (might be due to invalid IL or missing references)
16284 //IL_2d1a8: Unknown result type (might be due to invalid IL or missing references)
16285 //IL_2d1ae: Unknown result type (might be due to invalid IL or missing references)
16286 //IL_2d1b3: Unknown result type (might be due to invalid IL or missing references)
16287 //IL_2d1b8: Unknown result type (might be due to invalid IL or missing references)
16288 //IL_2d1c7: Unknown result type (might be due to invalid IL or missing references)
16289 //IL_2d1cc: Unknown result type (might be due to invalid IL or missing references)
16290 //IL_2d1e9: Unknown result type (might be due to invalid IL or missing references)
16291 //IL_2d21c: Unknown result type (might be due to invalid IL or missing references)
16292 //IL_2d226: Unknown result type (might be due to invalid IL or missing references)
16293 //IL_2d22b: Unknown result type (might be due to invalid IL or missing references)
16294 //IL_2e300: Unknown result type (might be due to invalid IL or missing references)
16295 //IL_2c41e: Unknown result type (might be due to invalid IL or missing references)
16296 //IL_2c438: Unknown result type (might be due to invalid IL or missing references)
16297 //IL_2bee4: Unknown result type (might be due to invalid IL or missing references)
16298 //IL_2bee9: Unknown result type (might be due to invalid IL or missing references)
16299 //IL_2beee: Unknown result type (might be due to invalid IL or missing references)
16300 //IL_2bef3: Unknown result type (might be due to invalid IL or missing references)
16301 //IL_2bef9: Unknown result type (might be due to invalid IL or missing references)
16302 //IL_2befe: Unknown result type (might be due to invalid IL or missing references)
16303 //IL_280f2: Unknown result type (might be due to invalid IL or missing references)
16304 //IL_280fd: Unknown result type (might be due to invalid IL or missing references)
16305 //IL_255da: Unknown result type (might be due to invalid IL or missing references)
16306 //IL_25636: Unknown result type (might be due to invalid IL or missing references)
16307 //IL_256dd: Unknown result type (might be due to invalid IL or missing references)
16308 //IL_256e8: Unknown result type (might be due to invalid IL or missing references)
16309 //IL_2460e: Unknown result type (might be due to invalid IL or missing references)
16310 //IL_24618: Unknown result type (might be due to invalid IL or missing references)
16311 //IL_2461d: Unknown result type (might be due to invalid IL or missing references)
16312 //IL_24569: Unknown result type (might be due to invalid IL or missing references)
16313 //IL_24573: Unknown result type (might be due to invalid IL or missing references)
16314 //IL_24578: Unknown result type (might be due to invalid IL or missing references)
16315 //IL_336dc: Unknown result type (might be due to invalid IL or missing references)
16316 //IL_33706: Unknown result type (might be due to invalid IL or missing references)
16317 //IL_32a56: Unknown result type (might be due to invalid IL or missing references)
16318 //IL_2fbd5: Unknown result type (might be due to invalid IL or missing references)
16319 //IL_2fc06: Unknown result type (might be due to invalid IL or missing references)
16320 //IL_2f9c5: Unknown result type (might be due to invalid IL or missing references)
16321 //IL_2fa02: Unknown result type (might be due to invalid IL or missing references)
16322 //IL_2ecae: Unknown result type (might be due to invalid IL or missing references)
16323 //IL_2ecf1: Unknown result type (might be due to invalid IL or missing references)
16324 //IL_2dda1: Unknown result type (might be due to invalid IL or missing references)
16325 //IL_2ddc9: Unknown result type (might be due to invalid IL or missing references)
16326 //IL_2de9d: Unknown result type (might be due to invalid IL or missing references)
16327 //IL_2dea8: Unknown result type (might be due to invalid IL or missing references)
16328 //IL_2d2ef: Unknown result type (might be due to invalid IL or missing references)
16329 //IL_2d317: Unknown result type (might be due to invalid IL or missing references)
16330 //IL_2d450: Unknown result type (might be due to invalid IL or missing references)
16331 //IL_2d45b: Unknown result type (might be due to invalid IL or missing references)
16332 //IL_2bf56: Unknown result type (might be due to invalid IL or missing references)
16333 //IL_2bf75: Unknown result type (might be due to invalid IL or missing references)
16334 //IL_2bf0f: Unknown result type (might be due to invalid IL or missing references)
16335 //IL_2bf15: Unknown result type (might be due to invalid IL or missing references)
16336 //IL_2bf1b: Unknown result type (might be due to invalid IL or missing references)
16337 //IL_2bf20: Unknown result type (might be due to invalid IL or missing references)
16338 //IL_2bf2b: Unknown result type (might be due to invalid IL or missing references)
16339 //IL_2bf40: Unknown result type (might be due to invalid IL or missing references)
16340 //IL_2bf45: Unknown result type (might be due to invalid IL or missing references)
16341 //IL_2bf4a: Unknown result type (might be due to invalid IL or missing references)
16342 //IL_245a1: Unknown result type (might be due to invalid IL or missing references)
16343 //IL_245ab: Unknown result type (might be due to invalid IL or missing references)
16344 //IL_245b0: Unknown result type (might be due to invalid IL or missing references)
16345 //IL_22553: Unknown result type (might be due to invalid IL or missing references)
16346 //IL_22559: Unknown result type (might be due to invalid IL or missing references)
16347 //IL_2255e: Unknown result type (might be due to invalid IL or missing references)
16348 //IL_22563: Unknown result type (might be due to invalid IL or missing references)
16349 //IL_22574: Unknown result type (might be due to invalid IL or missing references)
16350 //IL_2257f: Unknown result type (might be due to invalid IL or missing references)
16351 //IL_22584: Unknown result type (might be due to invalid IL or missing references)
16352 //IL_225a7: Unknown result type (might be due to invalid IL or missing references)
16353 //IL_225b2: Unknown result type (might be due to invalid IL or missing references)
16354 //IL_225bc: Unknown result type (might be due to invalid IL or missing references)
16355 //IL_225c7: Unknown result type (might be due to invalid IL or missing references)
16356 //IL_32aa1: Unknown result type (might be due to invalid IL or missing references)
16357 //IL_321c1: Unknown result type (might be due to invalid IL or missing references)
16358 //IL_321df: Unknown result type (might be due to invalid IL or missing references)
16359 //IL_321e9: Unknown result type (might be due to invalid IL or missing references)
16360 //IL_32345: Unknown result type (might be due to invalid IL or missing references)
16361 //IL_32350: Unknown result type (might be due to invalid IL or missing references)
16362 //IL_31b3e: Unknown result type (might be due to invalid IL or missing references)
16363 //IL_31b54: Unknown result type (might be due to invalid IL or missing references)
16364 //IL_30e93: Unknown result type (might be due to invalid IL or missing references)
16365 //IL_30e9e: Unknown result type (might be due to invalid IL or missing references)
16366 //IL_2fed4: Unknown result type (might be due to invalid IL or missing references)
16367 //IL_2feed: Unknown result type (might be due to invalid IL or missing references)
16368 //IL_2fefe: Unknown result type (might be due to invalid IL or missing references)
16369 //IL_2ff17: Unknown result type (might be due to invalid IL or missing references)
16370 //IL_2dfe7: Unknown result type (might be due to invalid IL or missing references)
16371 //IL_2e00f: Unknown result type (might be due to invalid IL or missing references)
16372 //IL_2e410: Unknown result type (might be due to invalid IL or missing references)
16373 //IL_2c4fe: Unknown result type (might be due to invalid IL or missing references)
16374 //IL_2c503: Unknown result type (might be due to invalid IL or missing references)
16375 //IL_2c508: Unknown result type (might be due to invalid IL or missing references)
16376 //IL_2c50d: Unknown result type (might be due to invalid IL or missing references)
16377 //IL_2c513: Unknown result type (might be due to invalid IL or missing references)
16378 //IL_2c518: Unknown result type (might be due to invalid IL or missing references)
16379 //IL_277c4: Unknown result type (might be due to invalid IL or missing references)
16380 //IL_277cf: Unknown result type (might be due to invalid IL or missing references)
16381 //IL_245d9: Unknown result type (might be due to invalid IL or missing references)
16382 //IL_245e3: Unknown result type (might be due to invalid IL or missing references)
16383 //IL_245e8: Unknown result type (might be due to invalid IL or missing references)
16384 //IL_33896: Unknown result type (might be due to invalid IL or missing references)
16385 //IL_338a5: Unknown result type (might be due to invalid IL or missing references)
16386 //IL_32fbd: Unknown result type (might be due to invalid IL or missing references)
16387 //IL_32fd2: Unknown result type (might be due to invalid IL or missing references)
16388 //IL_2f662: Unknown result type (might be due to invalid IL or missing references)
16389 //IL_2f67b: Unknown result type (might be due to invalid IL or missing references)
16390 //IL_2eee5: Unknown result type (might be due to invalid IL or missing references)
16391 //IL_2ef22: Unknown result type (might be due to invalid IL or missing references)
16392 //IL_2e167: Unknown result type (might be due to invalid IL or missing references)
16393 //IL_2e172: Unknown result type (might be due to invalid IL or missing references)
16394 //IL_2dad3: Unknown result type (might be due to invalid IL or missing references)
16395 //IL_2dafb: Unknown result type (might be due to invalid IL or missing references)
16396 //IL_2d80c: Unknown result type (might be due to invalid IL or missing references)
16397 //IL_2d834: Unknown result type (might be due to invalid IL or missing references)
16398 //IL_2d974: Unknown result type (might be due to invalid IL or missing references)
16399 //IL_2d97f: Unknown result type (might be due to invalid IL or missing references)
16400 //IL_2c570: Unknown result type (might be due to invalid IL or missing references)
16401 //IL_2c58f: Unknown result type (might be due to invalid IL or missing references)
16402 //IL_2c529: Unknown result type (might be due to invalid IL or missing references)
16403 //IL_2c52f: Unknown result type (might be due to invalid IL or missing references)
16404 //IL_2c535: Unknown result type (might be due to invalid IL or missing references)
16405 //IL_2c53a: Unknown result type (might be due to invalid IL or missing references)
16406 //IL_2c545: Unknown result type (might be due to invalid IL or missing references)
16407 //IL_2c55a: Unknown result type (might be due to invalid IL or missing references)
16408 //IL_2c55f: Unknown result type (might be due to invalid IL or missing references)
16409 //IL_2c564: Unknown result type (might be due to invalid IL or missing references)
16410 //IL_27575: Unknown result type (might be due to invalid IL or missing references)
16411 //IL_27580: Unknown result type (might be due to invalid IL or missing references)
16412 //IL_34e88: Unknown result type (might be due to invalid IL or missing references)
16413 //IL_34e8e: Unknown result type (might be due to invalid IL or missing references)
16414 //IL_34e93: Unknown result type (might be due to invalid IL or missing references)
16415 //IL_34e98: Unknown result type (might be due to invalid IL or missing references)
16416 //IL_34e9d: Unknown result type (might be due to invalid IL or missing references)
16417 //IL_34ea5: Unknown result type (might be due to invalid IL or missing references)
16418 //IL_34eaf: Unknown result type (might be due to invalid IL or missing references)
16419 //IL_34eb4: Unknown result type (might be due to invalid IL or missing references)
16420 //IL_34ebf: Unknown result type (might be due to invalid IL or missing references)
16421 //IL_34ec4: Unknown result type (might be due to invalid IL or missing references)
16422 //IL_34ece: Unknown result type (might be due to invalid IL or missing references)
16423 //IL_34ed3: Unknown result type (might be due to invalid IL or missing references)
16424 //IL_34e28: Unknown result type (might be due to invalid IL or missing references)
16425 //IL_34e2e: Unknown result type (might be due to invalid IL or missing references)
16426 //IL_34e33: Unknown result type (might be due to invalid IL or missing references)
16427 //IL_34e56: Unknown result type (might be due to invalid IL or missing references)
16428 //IL_34e5b: Unknown result type (might be due to invalid IL or missing references)
16429 //IL_34e60: Unknown result type (might be due to invalid IL or missing references)
16430 //IL_34e6b: Unknown result type (might be due to invalid IL or missing references)
16431 //IL_34e70: Unknown result type (might be due to invalid IL or missing references)
16432 //IL_340ef: Unknown result type (might be due to invalid IL or missing references)
16433 //IL_34111: Unknown result type (might be due to invalid IL or missing references)
16434 //IL_338d5: Unknown result type (might be due to invalid IL or missing references)
16435 //IL_338e4: Unknown result type (might be due to invalid IL or missing references)
16436 //IL_33122: Unknown result type (might be due to invalid IL or missing references)
16437 //IL_33137: Unknown result type (might be due to invalid IL or missing references)
16438 //IL_2f6a9: Unknown result type (might be due to invalid IL or missing references)
16439 //IL_2f6c2: Unknown result type (might be due to invalid IL or missing references)
16440 //IL_2fe00: Unknown result type (might be due to invalid IL or missing references)
16441 //IL_2fe3d: Unknown result type (might be due to invalid IL or missing references)
16442 //IL_2dc53: Unknown result type (might be due to invalid IL or missing references)
16443 //IL_2dc5e: Unknown result type (might be due to invalid IL or missing references)
16444 //IL_27885: Unknown result type (might be due to invalid IL or missing references)
16445 //IL_278c6: Unknown result type (might be due to invalid IL or missing references)
16446 //IL_3416a: Unknown result type (might be due to invalid IL or missing references)
16447 //IL_34192: Unknown result type (might be due to invalid IL or missing references)
16448 //IL_32b48: Unknown result type (might be due to invalid IL or missing references)
16449 //IL_32b4d: Unknown result type (might be due to invalid IL or missing references)
16450 //IL_31255: Unknown result type (might be due to invalid IL or missing references)
16451 //IL_3126b: Unknown result type (might be due to invalid IL or missing references)
16452 //IL_312b9: Unknown result type (might be due to invalid IL or missing references)
16453 //IL_312d7: Unknown result type (might be due to invalid IL or missing references)
16454 //IL_312e1: Unknown result type (might be due to invalid IL or missing references)
16455 //IL_313ed: Unknown result type (might be due to invalid IL or missing references)
16456 //IL_313f8: Unknown result type (might be due to invalid IL or missing references)
16457 //IL_31c51: Unknown result type (might be due to invalid IL or missing references)
16458 //IL_315d8: Unknown result type (might be due to invalid IL or missing references)
16459 //IL_315ee: Unknown result type (might be due to invalid IL or missing references)
16460 //IL_3169b: Unknown result type (might be due to invalid IL or missing references)
16461 //IL_316a6: Unknown result type (might be due to invalid IL or missing references)
16462 //IL_29a77: Unknown result type (might be due to invalid IL or missing references)
16463 //IL_29a82: Unknown result type (might be due to invalid IL or missing references)
16464 //IL_29a9d: Unknown result type (might be due to invalid IL or missing references)
16465 //IL_29aa7: Unknown result type (might be due to invalid IL or missing references)
16466 //IL_29ac5: Unknown result type (might be due to invalid IL or missing references)
16467 //IL_29acf: Unknown result type (might be due to invalid IL or missing references)
16468 //IL_27987: Unknown result type (might be due to invalid IL or missing references)
16469 //IL_27992: Unknown result type (might be due to invalid IL or missing references)
16470 //IL_27620: Unknown result type (might be due to invalid IL or missing references)
16471 //IL_27661: Unknown result type (might be due to invalid IL or missing references)
16472 //IL_346dc: Unknown result type (might be due to invalid IL or missing references)
16473 //IL_346e1: Unknown result type (might be due to invalid IL or missing references)
16474 //IL_346ed: Unknown result type (might be due to invalid IL or missing references)
16475 //IL_2c5e7: Unknown result type (might be due to invalid IL or missing references)
16476 //IL_2c5fa: Unknown result type (might be due to invalid IL or missing references)
16477 //IL_2834a: Unknown result type (might be due to invalid IL or missing references)
16478 //IL_2835d: Unknown result type (might be due to invalid IL or missing references)
16479 //IL_27722: Unknown result type (might be due to invalid IL or missing references)
16480 //IL_2772d: Unknown result type (might be due to invalid IL or missing references)
16481 //IL_35fcf: Unknown result type (might be due to invalid IL or missing references)
16482 //IL_34fd7: Unknown result type (might be due to invalid IL or missing references)
16483 //IL_34fdc: Unknown result type (might be due to invalid IL or missing references)
16484 //IL_335f4: Unknown result type (might be due to invalid IL or missing references)
16485 //IL_335fa: Unknown result type (might be due to invalid IL or missing references)
16486 //IL_31d61: Unknown result type (might be due to invalid IL or missing references)
16487 //IL_373b3: Unknown result type (might be due to invalid IL or missing references)
16488 //IL_373b8: Unknown result type (might be due to invalid IL or missing references)
16489 //IL_357cf: Unknown result type (might be due to invalid IL or missing references)
16490 //IL_357d4: Unknown result type (might be due to invalid IL or missing references)
16491 //IL_357e6: Unknown result type (might be due to invalid IL or missing references)
16492 //IL_357eb: Unknown result type (might be due to invalid IL or missing references)
16493 //IL_35842: Unknown result type (might be due to invalid IL or missing references)
16494 //IL_35851: Unknown result type (might be due to invalid IL or missing references)
16495 //IL_3560a: Unknown result type (might be due to invalid IL or missing references)
16496 //IL_3175c: Unknown result type (might be due to invalid IL or missing references)
16497 //IL_31772: Unknown result type (might be due to invalid IL or missing references)
16498 //IL_317b6: Unknown result type (might be due to invalid IL or missing references)
16499 //IL_317d4: Unknown result type (might be due to invalid IL or missing references)
16500 //IL_317de: Unknown result type (might be due to invalid IL or missing references)
16501 //IL_318ea: Unknown result type (might be due to invalid IL or missing references)
16502 //IL_318f5: Unknown result type (might be due to invalid IL or missing references)
16503 //IL_35518: Unknown result type (might be due to invalid IL or missing references)
16504 //IL_2a3b1: Unknown result type (might be due to invalid IL or missing references)
16505 //IL_2a3b7: Unknown result type (might be due to invalid IL or missing references)
16506 //IL_2a407: Unknown result type (might be due to invalid IL or missing references)
16507 //IL_2a40d: Unknown result type (might be due to invalid IL or missing references)
16508 //IL_2a45d: Unknown result type (might be due to invalid IL or missing references)
16509 //IL_2a463: Unknown result type (might be due to invalid IL or missing references)
16510 //IL_35d02: Unknown result type (might be due to invalid IL or missing references)
16511 //IL_35d11: Unknown result type (might be due to invalid IL or missing references)
16512 //IL_3553f: Unknown result type (might be due to invalid IL or missing references)
16513 //IL_3554b: Unknown result type (might be due to invalid IL or missing references)
16514 //IL_35587: Unknown result type (might be due to invalid IL or missing references)
16515 //IL_3558d: Unknown result type (might be due to invalid IL or missing references)
16516 //IL_35592: Unknown result type (might be due to invalid IL or missing references)
16517 //IL_35597: Unknown result type (might be due to invalid IL or missing references)
16518 //IL_355a9: Unknown result type (might be due to invalid IL or missing references)
16519 //IL_355b4: Unknown result type (might be due to invalid IL or missing references)
16520 //IL_355b9: Unknown result type (might be due to invalid IL or missing references)
16521 //IL_355c0: Unknown result type (might be due to invalid IL or missing references)
16522 //IL_3520e: Unknown result type (might be due to invalid IL or missing references)
16523 //IL_35213: Unknown result type (might be due to invalid IL or missing references)
16524 //IL_35254: Unknown result type (might be due to invalid IL or missing references)
16525 //IL_35259: Unknown result type (might be due to invalid IL or missing references)
16526 //IL_3431d: Unknown result type (might be due to invalid IL or missing references)
16527 //IL_34335: Unknown result type (might be due to invalid IL or missing references)
16528 //IL_32b9f: Unknown result type (might be due to invalid IL or missing references)
16529 //IL_32ba5: Unknown result type (might be due to invalid IL or missing references)
16530 //IL_32c47: Unknown result type (might be due to invalid IL or missing references)
16531 //IL_32c4d: Unknown result type (might be due to invalid IL or missing references)
16532 //IL_32cd9: Unknown result type (might be due to invalid IL or missing references)
16533 //IL_32ce5: Unknown result type (might be due to invalid IL or missing references)
16534 //IL_32cea: Unknown result type (might be due to invalid IL or missing references)
16535 //IL_32cf0: Unknown result type (might be due to invalid IL or missing references)
16536 //IL_32cfc: Unknown result type (might be due to invalid IL or missing references)
16537 //IL_32d01: Unknown result type (might be due to invalid IL or missing references)
16538 //IL_32d09: Unknown result type (might be due to invalid IL or missing references)
16539 //IL_32d0e: Unknown result type (might be due to invalid IL or missing references)
16540 //IL_32d14: Unknown result type (might be due to invalid IL or missing references)
16541 //IL_32d19: Unknown result type (might be due to invalid IL or missing references)
16542 //IL_319c7: Unknown result type (might be due to invalid IL or missing references)
16543 //IL_319dd: Unknown result type (might be due to invalid IL or missing references)
16544 //IL_31ad4: Unknown result type (might be due to invalid IL or missing references)
16545 //IL_31adf: Unknown result type (might be due to invalid IL or missing references)
16546 //IL_2887b: Unknown result type (might be due to invalid IL or missing references)
16547 //IL_28881: Unknown result type (might be due to invalid IL or missing references)
16548 //IL_28886: Unknown result type (might be due to invalid IL or missing references)
16549 //IL_2888b: Unknown result type (might be due to invalid IL or missing references)
16550 //IL_288a6: Unknown result type (might be due to invalid IL or missing references)
16551 //IL_288c8: Unknown result type (might be due to invalid IL or missing references)
16552 //IL_288cd: Unknown result type (might be due to invalid IL or missing references)
16553 //IL_288d2: Unknown result type (might be due to invalid IL or missing references)
16554 //IL_288d8: Unknown result type (might be due to invalid IL or missing references)
16555 //IL_28907: Unknown result type (might be due to invalid IL or missing references)
16556 //IL_2891c: Unknown result type (might be due to invalid IL or missing references)
16557 //IL_28929: Unknown result type (might be due to invalid IL or missing references)
16558 //IL_2892f: Unknown result type (might be due to invalid IL or missing references)
16559 //IL_28959: Unknown result type (might be due to invalid IL or missing references)
16560 //IL_2895f: Unknown result type (might be due to invalid IL or missing references)
16561 //IL_28964: Unknown result type (might be due to invalid IL or missing references)
16562 //IL_28969: Unknown result type (might be due to invalid IL or missing references)
16563 //IL_2897b: Unknown result type (might be due to invalid IL or missing references)
16564 //IL_289b4: Unknown result type (might be due to invalid IL or missing references)
16565 //IL_289b9: Unknown result type (might be due to invalid IL or missing references)
16566 //IL_289c3: Unknown result type (might be due to invalid IL or missing references)
16567 //IL_289d8: Unknown result type (might be due to invalid IL or missing references)
16568 //IL_289e5: Unknown result type (might be due to invalid IL or missing references)
16569 //IL_289eb: Unknown result type (might be due to invalid IL or missing references)
16570 //IL_28a52: Unknown result type (might be due to invalid IL or missing references)
16571 //IL_28a58: Unknown result type (might be due to invalid IL or missing references)
16572 //IL_28a5d: Unknown result type (might be due to invalid IL or missing references)
16573 //IL_28a62: Unknown result type (might be due to invalid IL or missing references)
16574 //IL_28a69: Unknown result type (might be due to invalid IL or missing references)
16575 //IL_28a6f: Unknown result type (might be due to invalid IL or missing references)
16576 //IL_28a74: Unknown result type (might be due to invalid IL or missing references)
16577 //IL_28a79: Unknown result type (might be due to invalid IL or missing references)
16578 //IL_39ced: Unknown result type (might be due to invalid IL or missing references)
16579 //IL_39cf2: Unknown result type (might be due to invalid IL or missing references)
16580 //IL_37400: Unknown result type (might be due to invalid IL or missing references)
16581 //IL_3740c: Unknown result type (might be due to invalid IL or missing references)
16582 //IL_35a17: Unknown result type (might be due to invalid IL or missing references)
16583 //IL_35a32: Unknown result type (might be due to invalid IL or missing references)
16584 //IL_35a38: Unknown result type (might be due to invalid IL or missing references)
16585 //IL_35a3a: Unknown result type (might be due to invalid IL or missing references)
16586 //IL_35a49: Unknown result type (might be due to invalid IL or missing references)
16587 //IL_35a4e: Unknown result type (might be due to invalid IL or missing references)
16588 //IL_35a53: Unknown result type (might be due to invalid IL or missing references)
16589 //IL_350d1: Unknown result type (might be due to invalid IL or missing references)
16590 //IL_33aac: Unknown result type (might be due to invalid IL or missing references)
16591 //IL_32bd4: Unknown result type (might be due to invalid IL or missing references)
16592 //IL_32be1: Unknown result type (might be due to invalid IL or missing references)
16593 //IL_32be6: Unknown result type (might be due to invalid IL or missing references)
16594 //IL_32beb: Unknown result type (might be due to invalid IL or missing references)
16595 //IL_32bf0: Unknown result type (might be due to invalid IL or missing references)
16596 //IL_32c7c: Unknown result type (might be due to invalid IL or missing references)
16597 //IL_32c89: Unknown result type (might be due to invalid IL or missing references)
16598 //IL_32c8e: Unknown result type (might be due to invalid IL or missing references)
16599 //IL_32c93: Unknown result type (might be due to invalid IL or missing references)
16600 //IL_32c98: Unknown result type (might be due to invalid IL or missing references)
16601 //IL_32d51: Unknown result type (might be due to invalid IL or missing references)
16602 //IL_32d56: Unknown result type (might be due to invalid IL or missing references)
16603 //IL_32d61: Unknown result type (might be due to invalid IL or missing references)
16604 //IL_32d66: Unknown result type (might be due to invalid IL or missing references)
16605 //IL_32d6b: Unknown result type (might be due to invalid IL or missing references)
16606 //IL_32d32: Unknown result type (might be due to invalid IL or missing references)
16607 //IL_32d37: Unknown result type (might be due to invalid IL or missing references)
16608 //IL_32d3c: Unknown result type (might be due to invalid IL or missing references)
16609 //IL_32d46: Unknown result type (might be due to invalid IL or missing references)
16610 //IL_32d4b: Unknown result type (might be due to invalid IL or missing references)
16611 //IL_283db: Unknown result type (might be due to invalid IL or missing references)
16612 //IL_283e6: Unknown result type (might be due to invalid IL or missing references)
16613 //IL_374fa: Unknown result type (might be due to invalid IL or missing references)
16614 //IL_37506: Unknown result type (might be due to invalid IL or missing references)
16615 //IL_374aa: Unknown result type (might be due to invalid IL or missing references)
16616 //IL_374b4: Unknown result type (might be due to invalid IL or missing references)
16617 //IL_374b9: Unknown result type (might be due to invalid IL or missing references)
16618 //IL_35dce: Unknown result type (might be due to invalid IL or missing references)
16619 //IL_35dd3: Unknown result type (might be due to invalid IL or missing references)
16620 //IL_35dda: Unknown result type (might be due to invalid IL or missing references)
16621 //IL_35ddf: Unknown result type (might be due to invalid IL or missing references)
16622 //IL_35de9: Unknown result type (might be due to invalid IL or missing references)
16623 //IL_35dee: Unknown result type (might be due to invalid IL or missing references)
16624 //IL_35df3: Unknown result type (might be due to invalid IL or missing references)
16625 //IL_35df9: Unknown result type (might be due to invalid IL or missing references)
16626 //IL_35dff: Unknown result type (might be due to invalid IL or missing references)
16627 //IL_35e05: Unknown result type (might be due to invalid IL or missing references)
16628 //IL_35e0a: Unknown result type (might be due to invalid IL or missing references)
16629 //IL_35eb9: Unknown result type (might be due to invalid IL or missing references)
16630 //IL_35743: Unknown result type (might be due to invalid IL or missing references)
16631 //IL_356c6: Unknown result type (might be due to invalid IL or missing references)
16632 //IL_33b79: Unknown result type (might be due to invalid IL or missing references)
16633 //IL_2a0f6: Unknown result type (might be due to invalid IL or missing references)
16634 //IL_2a102: Unknown result type (might be due to invalid IL or missing references)
16635 //IL_3b0f4: Unknown result type (might be due to invalid IL or missing references)
16636 //IL_3b100: Unknown result type (might be due to invalid IL or missing references)
16637 //IL_37d73: Unknown result type (might be due to invalid IL or missing references)
16638 //IL_37d78: Unknown result type (might be due to invalid IL or missing references)
16639 //IL_37d84: Unknown result type (might be due to invalid IL or missing references)
16640 //IL_37d89: Unknown result type (might be due to invalid IL or missing references)
16641 //IL_37dca: Unknown result type (might be due to invalid IL or missing references)
16642 //IL_37dcf: Unknown result type (might be due to invalid IL or missing references)
16643 //IL_37dd5: Unknown result type (might be due to invalid IL or missing references)
16644 //IL_37dda: Unknown result type (might be due to invalid IL or missing references)
16645 //IL_37639: Unknown result type (might be due to invalid IL or missing references)
16646 //IL_37643: Unknown result type (might be due to invalid IL or missing references)
16647 //IL_37648: Unknown result type (might be due to invalid IL or missing references)
16648 //IL_3764e: Unknown result type (might be due to invalid IL or missing references)
16649 //IL_37665: Unknown result type (might be due to invalid IL or missing references)
16650 //IL_3766a: Unknown result type (might be due to invalid IL or missing references)
16651 //IL_37687: Unknown result type (might be due to invalid IL or missing references)
16652 //IL_37696: Unknown result type (might be due to invalid IL or missing references)
16653 //IL_3769c: Unknown result type (might be due to invalid IL or missing references)
16654 //IL_3769e: Unknown result type (might be due to invalid IL or missing references)
16655 //IL_376a3: Unknown result type (might be due to invalid IL or missing references)
16656 //IL_35edd: Unknown result type (might be due to invalid IL or missing references)
16657 //IL_35ee2: Unknown result type (might be due to invalid IL or missing references)
16658 //IL_35ee7: Unknown result type (might be due to invalid IL or missing references)
16659 //IL_35ecb: Unknown result type (might be due to invalid IL or missing references)
16660 //IL_35a65: Unknown result type (might be due to invalid IL or missing references)
16661 //IL_35a6a: Unknown result type (might be due to invalid IL or missing references)
16662 //IL_35c77: Unknown result type (might be due to invalid IL or missing references)
16663 //IL_35c86: Unknown result type (might be due to invalid IL or missing references)
16664 //IL_30af6: Unknown result type (might be due to invalid IL or missing references)
16665 //IL_30b1e: Unknown result type (might be due to invalid IL or missing references)
16666 //IL_30b36: Unknown result type (might be due to invalid IL or missing references)
16667 //IL_3b1aa: Unknown result type (might be due to invalid IL or missing references)
16668 //IL_3b1b6: Unknown result type (might be due to invalid IL or missing references)
16669 //IL_39a35: Unknown result type (might be due to invalid IL or missing references)
16670 //IL_39a54: Unknown result type (might be due to invalid IL or missing references)
16671 //IL_37a6e: Unknown result type (might be due to invalid IL or missing references)
16672 //IL_37a78: Unknown result type (might be due to invalid IL or missing references)
16673 //IL_35eed: Unknown result type (might be due to invalid IL or missing references)
16674 //IL_35ef8: Unknown result type (might be due to invalid IL or missing references)
16675 //IL_35efd: Unknown result type (might be due to invalid IL or missing references)
16676 //IL_35a83: Unknown result type (might be due to invalid IL or missing references)
16677 //IL_35a8d: Unknown result type (might be due to invalid IL or missing references)
16678 //IL_35a92: Unknown result type (might be due to invalid IL or missing references)
16679 //IL_356f2: Unknown result type (might be due to invalid IL or missing references)
16680 //IL_4061e: Unknown result type (might be due to invalid IL or missing references)
16681 //IL_4062a: Unknown result type (might be due to invalid IL or missing references)
16682 //IL_40423: Unknown result type (might be due to invalid IL or missing references)
16683 //IL_4042d: Unknown result type (might be due to invalid IL or missing references)
16684 //IL_40432: Unknown result type (might be due to invalid IL or missing references)
16685 //IL_3e8df: Unknown result type (might be due to invalid IL or missing references)
16686 //IL_3e8e4: Unknown result type (might be due to invalid IL or missing references)
16687 //IL_3e8f9: Unknown result type (might be due to invalid IL or missing references)
16688 //IL_3e908: Unknown result type (might be due to invalid IL or missing references)
16689 //IL_3e90d: Unknown result type (might be due to invalid IL or missing references)
16690 //IL_3b589: Unknown result type (might be due to invalid IL or missing references)
16691 //IL_3b58f: Unknown result type (might be due to invalid IL or missing references)
16692 //IL_3b594: Unknown result type (might be due to invalid IL or missing references)
16693 //IL_3b5a3: Unknown result type (might be due to invalid IL or missing references)
16694 //IL_3b5a8: Unknown result type (might be due to invalid IL or missing references)
16695 //IL_3b5ad: Unknown result type (might be due to invalid IL or missing references)
16696 //IL_3b2b2: Unknown result type (might be due to invalid IL or missing references)
16697 //IL_3b2be: Unknown result type (might be due to invalid IL or missing references)
16698 //IL_3b1f1: Unknown result type (might be due to invalid IL or missing references)
16699 //IL_39da3: Unknown result type (might be due to invalid IL or missing references)
16700 //IL_39da8: Unknown result type (might be due to invalid IL or missing references)
16701 //IL_39d4b: Unknown result type (might be due to invalid IL or missing references)
16702 //IL_39d50: Unknown result type (might be due to invalid IL or missing references)
16703 //IL_37b82: Unknown result type (might be due to invalid IL or missing references)
16704 //IL_37b8c: Unknown result type (might be due to invalid IL or missing references)
16705 //IL_37a98: Unknown result type (might be due to invalid IL or missing references)
16706 //IL_37a8c: Unknown result type (might be due to invalid IL or missing references)
16707 //IL_37a91: Unknown result type (might be due to invalid IL or missing references)
16708 //IL_36240: Unknown result type (might be due to invalid IL or missing references)
16709 //IL_36246: Unknown result type (might be due to invalid IL or missing references)
16710 //IL_3624b: Unknown result type (might be due to invalid IL or missing references)
16711 //IL_36250: Unknown result type (might be due to invalid IL or missing references)
16712 //IL_36256: Unknown result type (might be due to invalid IL or missing references)
16713 //IL_3627a: Unknown result type (might be due to invalid IL or missing references)
16714 //IL_36280: Unknown result type (might be due to invalid IL or missing references)
16715 //IL_362b1: Unknown result type (might be due to invalid IL or missing references)
16716 //IL_362bb: Unknown result type (might be due to invalid IL or missing references)
16717 //IL_362c0: Unknown result type (might be due to invalid IL or missing references)
16718 //IL_35f62: Unknown result type (might be due to invalid IL or missing references)
16719 //IL_35f6d: Unknown result type (might be due to invalid IL or missing references)
16720 //IL_35f78: Unknown result type (might be due to invalid IL or missing references)
16721 //IL_35f83: Unknown result type (might be due to invalid IL or missing references)
16722 //IL_35aac: Unknown result type (might be due to invalid IL or missing references)
16723 //IL_35ab6: Unknown result type (might be due to invalid IL or missing references)
16724 //IL_35abb: Unknown result type (might be due to invalid IL or missing references)
16725 //IL_34570: Unknown result type (might be due to invalid IL or missing references)
16726 //IL_30bbd: Unknown result type (might be due to invalid IL or missing references)
16727 //IL_30bc8: Unknown result type (might be due to invalid IL or missing references)
16728 //IL_304db: Unknown result type (might be due to invalid IL or missing references)
16729 //IL_304e6: Unknown result type (might be due to invalid IL or missing references)
16730 //IL_30549: Unknown result type (might be due to invalid IL or missing references)
16731 //IL_30567: Unknown result type (might be due to invalid IL or missing references)
16732 //IL_30571: Unknown result type (might be due to invalid IL or missing references)
16733 //IL_2a602: Unknown result type (might be due to invalid IL or missing references)
16734 //IL_2a66a: Unknown result type (might be due to invalid IL or missing references)
16735 //IL_2a31f: Unknown result type (might be due to invalid IL or missing references)
16736 //IL_2a32b: Unknown result type (might be due to invalid IL or missing references)
16737 //IL_4059e: Unknown result type (might be due to invalid IL or missing references)
16738 //IL_405a3: Unknown result type (might be due to invalid IL or missing references)
16739 //IL_405a7: Unknown result type (might be due to invalid IL or missing references)
16740 //IL_405ac: Unknown result type (might be due to invalid IL or missing references)
16741 //IL_40248: Unknown result type (might be due to invalid IL or missing references)
16742 //IL_4024d: Unknown result type (might be due to invalid IL or missing references)
16743 //IL_40253: Unknown result type (might be due to invalid IL or missing references)
16744 //IL_40259: Unknown result type (might be due to invalid IL or missing references)
16745 //IL_4025e: Unknown result type (might be due to invalid IL or missing references)
16746 //IL_4026c: Unknown result type (might be due to invalid IL or missing references)
16747 //IL_40277: Unknown result type (might be due to invalid IL or missing references)
16748 //IL_3b815: Unknown result type (might be due to invalid IL or missing references)
16749 //IL_3b81b: Unknown result type (might be due to invalid IL or missing references)
16750 //IL_3b820: Unknown result type (might be due to invalid IL or missing references)
16751 //IL_3b82f: Unknown result type (might be due to invalid IL or missing references)
16752 //IL_3b834: Unknown result type (might be due to invalid IL or missing references)
16753 //IL_3b839: Unknown result type (might be due to invalid IL or missing references)
16754 //IL_3b5c5: Unknown result type (might be due to invalid IL or missing references)
16755 //IL_3b5cc: Unknown result type (might be due to invalid IL or missing references)
16756 //IL_3b5d1: Unknown result type (might be due to invalid IL or missing references)
16757 //IL_3b5d6: Unknown result type (might be due to invalid IL or missing references)
16758 //IL_3b5e0: Unknown result type (might be due to invalid IL or missing references)
16759 //IL_3b5e5: Unknown result type (might be due to invalid IL or missing references)
16760 //IL_3b5ec: Unknown result type (might be due to invalid IL or missing references)
16761 //IL_3b5f1: Unknown result type (might be due to invalid IL or missing references)
16762 //IL_3b5f8: Unknown result type (might be due to invalid IL or missing references)
16763 //IL_3b60a: Unknown result type (might be due to invalid IL or missing references)
16764 //IL_3b60f: Unknown result type (might be due to invalid IL or missing references)
16765 //IL_3b61a: Unknown result type (might be due to invalid IL or missing references)
16766 //IL_3b61f: Unknown result type (might be due to invalid IL or missing references)
16767 //IL_3b2f9: Unknown result type (might be due to invalid IL or missing references)
16768 //IL_39b07: Unknown result type (might be due to invalid IL or missing references)
16769 //IL_39b26: Unknown result type (might be due to invalid IL or missing references)
16770 //IL_39bcd: Unknown result type (might be due to invalid IL or missing references)
16771 //IL_39bd9: Unknown result type (might be due to invalid IL or missing references)
16772 //IL_37bac: Unknown result type (might be due to invalid IL or missing references)
16773 //IL_37ba0: Unknown result type (might be due to invalid IL or missing references)
16774 //IL_37ba5: Unknown result type (might be due to invalid IL or missing references)
16775 //IL_37aa2: Unknown result type (might be due to invalid IL or missing references)
16776 //IL_37aa7: Unknown result type (might be due to invalid IL or missing references)
16777 //IL_37aac: Unknown result type (might be due to invalid IL or missing references)
16778 //IL_37ab2: Unknown result type (might be due to invalid IL or missing references)
16779 //IL_37ac9: Unknown result type (might be due to invalid IL or missing references)
16780 //IL_37ace: Unknown result type (might be due to invalid IL or missing references)
16781 //IL_37aeb: Unknown result type (might be due to invalid IL or missing references)
16782 //IL_37afa: Unknown result type (might be due to invalid IL or missing references)
16783 //IL_37b00: Unknown result type (might be due to invalid IL or missing references)
16784 //IL_37b02: Unknown result type (might be due to invalid IL or missing references)
16785 //IL_37b07: Unknown result type (might be due to invalid IL or missing references)
16786 //IL_37e50: Unknown result type (might be due to invalid IL or missing references)
16787 //IL_37e55: Unknown result type (might be due to invalid IL or missing references)
16788 //IL_364f2: Unknown result type (might be due to invalid IL or missing references)
16789 //IL_364f7: Unknown result type (might be due to invalid IL or missing references)
16790 //IL_36509: Unknown result type (might be due to invalid IL or missing references)
16791 //IL_3650e: Unknown result type (might be due to invalid IL or missing references)
16792 //IL_36514: Unknown result type (might be due to invalid IL or missing references)
16793 //IL_3651a: Unknown result type (might be due to invalid IL or missing references)
16794 //IL_36520: Unknown result type (might be due to invalid IL or missing references)
16795 //IL_36525: Unknown result type (might be due to invalid IL or missing references)
16796 //IL_3652b: Unknown result type (might be due to invalid IL or missing references)
16797 //IL_36531: Unknown result type (might be due to invalid IL or missing references)
16798 //IL_3653c: Unknown result type (might be due to invalid IL or missing references)
16799 //IL_36541: Unknown result type (might be due to invalid IL or missing references)
16800 //IL_36546: Unknown result type (might be due to invalid IL or missing references)
16801 //IL_3654c: Unknown result type (might be due to invalid IL or missing references)
16802 //IL_36552: Unknown result type (might be due to invalid IL or missing references)
16803 //IL_36557: Unknown result type (might be due to invalid IL or missing references)
16804 //IL_362fc: Unknown result type (might be due to invalid IL or missing references)
16805 //IL_3630b: Unknown result type (might be due to invalid IL or missing references)
16806 //IL_36311: Unknown result type (might be due to invalid IL or missing references)
16807 //IL_36313: Unknown result type (might be due to invalid IL or missing references)
16808 //IL_36318: Unknown result type (might be due to invalid IL or missing references)
16809 //IL_3632b: Unknown result type (might be due to invalid IL or missing references)
16810 //IL_36330: Unknown result type (might be due to invalid IL or missing references)
16811 //IL_36336: Unknown result type (might be due to invalid IL or missing references)
16812 //IL_3633b: Unknown result type (might be due to invalid IL or missing references)
16813 //IL_36342: Unknown result type (might be due to invalid IL or missing references)
16814 //IL_36348: Unknown result type (might be due to invalid IL or missing references)
16815 //IL_3634d: Unknown result type (might be due to invalid IL or missing references)
16816 //IL_36352: Unknown result type (might be due to invalid IL or missing references)
16817 //IL_35ad5: Unknown result type (might be due to invalid IL or missing references)
16818 //IL_35adf: Unknown result type (might be due to invalid IL or missing references)
16819 //IL_35ae4: Unknown result type (might be due to invalid IL or missing references)
16820 //IL_34608: Unknown result type (might be due to invalid IL or missing references)
16821 //IL_2a71f: Unknown result type (might be due to invalid IL or missing references)
16822 //IL_2a72b: Unknown result type (might be due to invalid IL or missing references)
16823 //IL_405d5: Unknown result type (might be due to invalid IL or missing references)
16824 //IL_405e0: Unknown result type (might be due to invalid IL or missing references)
16825 //IL_405e5: Unknown result type (might be due to invalid IL or missing references)
16826 //IL_405ec: Unknown result type (might be due to invalid IL or missing references)
16827 //IL_405f1: Unknown result type (might be due to invalid IL or missing references)
16828 //IL_405c1: Unknown result type (might be due to invalid IL or missing references)
16829 //IL_405c6: Unknown result type (might be due to invalid IL or missing references)
16830 //IL_405ca: Unknown result type (might be due to invalid IL or missing references)
16831 //IL_405cf: Unknown result type (might be due to invalid IL or missing references)
16832 //IL_4048b: Unknown result type (might be due to invalid IL or missing references)
16833 //IL_40496: Unknown result type (might be due to invalid IL or missing references)
16834 //IL_3b8e6: Unknown result type (might be due to invalid IL or missing references)
16835 //IL_3b8eb: Unknown result type (might be due to invalid IL or missing references)
16836 //IL_3b8f2: Unknown result type (might be due to invalid IL or missing references)
16837 //IL_3b8f7: Unknown result type (might be due to invalid IL or missing references)
16838 //IL_3b854: Unknown result type (might be due to invalid IL or missing references)
16839 //IL_3b85b: Unknown result type (might be due to invalid IL or missing references)
16840 //IL_3b860: Unknown result type (might be due to invalid IL or missing references)
16841 //IL_3b865: Unknown result type (might be due to invalid IL or missing references)
16842 //IL_3b86f: Unknown result type (might be due to invalid IL or missing references)
16843 //IL_3b874: Unknown result type (might be due to invalid IL or missing references)
16844 //IL_3b87b: Unknown result type (might be due to invalid IL or missing references)
16845 //IL_3b880: Unknown result type (might be due to invalid IL or missing references)
16846 //IL_3b887: Unknown result type (might be due to invalid IL or missing references)
16847 //IL_3b899: Unknown result type (might be due to invalid IL or missing references)
16848 //IL_3b89e: Unknown result type (might be due to invalid IL or missing references)
16849 //IL_3b8a9: Unknown result type (might be due to invalid IL or missing references)
16850 //IL_3b8ae: Unknown result type (might be due to invalid IL or missing references)
16851 //IL_37bb6: Unknown result type (might be due to invalid IL or missing references)
16852 //IL_37bbb: Unknown result type (might be due to invalid IL or missing references)
16853 //IL_37bc0: Unknown result type (might be due to invalid IL or missing references)
16854 //IL_37bc6: Unknown result type (might be due to invalid IL or missing references)
16855 //IL_37bdd: Unknown result type (might be due to invalid IL or missing references)
16856 //IL_37be2: Unknown result type (might be due to invalid IL or missing references)
16857 //IL_37bff: Unknown result type (might be due to invalid IL or missing references)
16858 //IL_37c0e: Unknown result type (might be due to invalid IL or missing references)
16859 //IL_37c14: Unknown result type (might be due to invalid IL or missing references)
16860 //IL_37c16: Unknown result type (might be due to invalid IL or missing references)
16861 //IL_37c1b: Unknown result type (might be due to invalid IL or missing references)
16862 //IL_382c1: Unknown result type (might be due to invalid IL or missing references)
16863 //IL_382c6: Unknown result type (might be due to invalid IL or missing references)
16864 //IL_35b1f: Unknown result type (might be due to invalid IL or missing references)
16865 //IL_35b39: Unknown result type (might be due to invalid IL or missing references)
16866 //IL_35b3f: Unknown result type (might be due to invalid IL or missing references)
16867 //IL_35b70: Unknown result type (might be due to invalid IL or missing references)
16868 //IL_35b75: Unknown result type (might be due to invalid IL or missing references)
16869 //IL_35b81: Unknown result type (might be due to invalid IL or missing references)
16870 //IL_35b86: Unknown result type (might be due to invalid IL or missing references)
16871 //IL_35b8b: Unknown result type (might be due to invalid IL or missing references)
16872 //IL_35b91: Unknown result type (might be due to invalid IL or missing references)
16873 //IL_35b96: Unknown result type (might be due to invalid IL or missing references)
16874 //IL_35ba7: Unknown result type (might be due to invalid IL or missing references)
16875 //IL_35bac: Unknown result type (might be due to invalid IL or missing references)
16876 //IL_35bb1: Unknown result type (might be due to invalid IL or missing references)
16877 //IL_35bbc: Unknown result type (might be due to invalid IL or missing references)
16878 //IL_35bc1: Unknown result type (might be due to invalid IL or missing references)
16879 //IL_35bc8: Unknown result type (might be due to invalid IL or missing references)
16880 //IL_35be2: Unknown result type (might be due to invalid IL or missing references)
16881 //IL_35be8: Unknown result type (might be due to invalid IL or missing references)
16882 //IL_35c19: Unknown result type (might be due to invalid IL or missing references)
16883 //IL_35c1e: Unknown result type (might be due to invalid IL or missing references)
16884 //IL_35c2a: Unknown result type (might be due to invalid IL or missing references)
16885 //IL_35c2f: Unknown result type (might be due to invalid IL or missing references)
16886 //IL_35c34: Unknown result type (might be due to invalid IL or missing references)
16887 //IL_35c3a: Unknown result type (might be due to invalid IL or missing references)
16888 //IL_35c3f: Unknown result type (might be due to invalid IL or missing references)
16889 //IL_35c50: Unknown result type (might be due to invalid IL or missing references)
16890 //IL_35c55: Unknown result type (might be due to invalid IL or missing references)
16891 //IL_35afe: Unknown result type (might be due to invalid IL or missing references)
16892 //IL_35b08: Unknown result type (might be due to invalid IL or missing references)
16893 //IL_35b0d: Unknown result type (might be due to invalid IL or missing references)
16894 //IL_345be: Unknown result type (might be due to invalid IL or missing references)
16895 //IL_29cf9: Unknown result type (might be due to invalid IL or missing references)
16896 //IL_29d16: Unknown result type (might be due to invalid IL or missing references)
16897 //IL_42580: Unknown result type (might be due to invalid IL or missing references)
16898 //IL_42585: Unknown result type (might be due to invalid IL or missing references)
16899 //IL_42597: Unknown result type (might be due to invalid IL or missing references)
16900 //IL_425b2: Unknown result type (might be due to invalid IL or missing references)
16901 //IL_425b7: Unknown result type (might be due to invalid IL or missing references)
16902 //IL_425bd: Unknown result type (might be due to invalid IL or missing references)
16903 //IL_425d1: Unknown result type (might be due to invalid IL or missing references)
16904 //IL_425db: Unknown result type (might be due to invalid IL or missing references)
16905 //IL_425e8: Unknown result type (might be due to invalid IL or missing references)
16906 //IL_425f2: Unknown result type (might be due to invalid IL or missing references)
16907 //IL_425f7: Unknown result type (might be due to invalid IL or missing references)
16908 //IL_3cd9f: Unknown result type (might be due to invalid IL or missing references)
16909 //IL_3cda4: Unknown result type (might be due to invalid IL or missing references)
16910 //IL_3cdaa: Unknown result type (might be due to invalid IL or missing references)
16911 //IL_3cdc1: Unknown result type (might be due to invalid IL or missing references)
16912 //IL_3cdc6: Unknown result type (might be due to invalid IL or missing references)
16913 //IL_3cdcb: Unknown result type (might be due to invalid IL or missing references)
16914 //IL_3cdd1: Unknown result type (might be due to invalid IL or missing references)
16915 //IL_3cdd8: Unknown result type (might be due to invalid IL or missing references)
16916 //IL_3cddd: Unknown result type (might be due to invalid IL or missing references)
16917 //IL_3cde2: Unknown result type (might be due to invalid IL or missing references)
16918 //IL_3cc72: Unknown result type (might be due to invalid IL or missing references)
16919 //IL_3cc77: Unknown result type (might be due to invalid IL or missing references)
16920 //IL_3cc7d: Unknown result type (might be due to invalid IL or missing references)
16921 //IL_3cc94: Unknown result type (might be due to invalid IL or missing references)
16922 //IL_3cc99: Unknown result type (might be due to invalid IL or missing references)
16923 //IL_3cc9e: Unknown result type (might be due to invalid IL or missing references)
16924 //IL_3cca4: Unknown result type (might be due to invalid IL or missing references)
16925 //IL_3ccab: Unknown result type (might be due to invalid IL or missing references)
16926 //IL_3ccb0: Unknown result type (might be due to invalid IL or missing references)
16927 //IL_3ccb5: Unknown result type (might be due to invalid IL or missing references)
16928 //IL_3c22b: Unknown result type (might be due to invalid IL or missing references)
16929 //IL_3c230: Unknown result type (might be due to invalid IL or missing references)
16930 //IL_3c237: Unknown result type (might be due to invalid IL or missing references)
16931 //IL_3c23c: Unknown result type (might be due to invalid IL or missing references)
16932 //IL_3b940: Unknown result type (might be due to invalid IL or missing references)
16933 //IL_37ced: Unknown result type (might be due to invalid IL or missing references)
16934 //IL_37d04: Unknown result type (might be due to invalid IL or missing references)
16935 //IL_37d09: Unknown result type (might be due to invalid IL or missing references)
16936 //IL_37d26: Unknown result type (might be due to invalid IL or missing references)
16937 //IL_37d35: Unknown result type (might be due to invalid IL or missing references)
16938 //IL_37d3b: Unknown result type (might be due to invalid IL or missing references)
16939 //IL_37d3d: Unknown result type (might be due to invalid IL or missing references)
16940 //IL_37d42: Unknown result type (might be due to invalid IL or missing references)
16941 //IL_37ed4: Unknown result type (might be due to invalid IL or missing references)
16942 //IL_37ef1: Unknown result type (might be due to invalid IL or missing references)
16943 //IL_36b03: Unknown result type (might be due to invalid IL or missing references)
16944 //IL_36b14: Unknown result type (might be due to invalid IL or missing references)
16945 //IL_3657d: Unknown result type (might be due to invalid IL or missing references)
16946 //IL_36582: Unknown result type (might be due to invalid IL or missing references)
16947 //IL_36587: Unknown result type (might be due to invalid IL or missing references)
16948 //IL_3659e: Unknown result type (might be due to invalid IL or missing references)
16949 //IL_365a4: Unknown result type (might be due to invalid IL or missing references)
16950 //IL_365af: Unknown result type (might be due to invalid IL or missing references)
16951 //IL_365b4: Unknown result type (might be due to invalid IL or missing references)
16952 //IL_365ba: Unknown result type (might be due to invalid IL or missing references)
16953 //IL_365c0: Unknown result type (might be due to invalid IL or missing references)
16954 //IL_365cb: Unknown result type (might be due to invalid IL or missing references)
16955 //IL_365d0: Unknown result type (might be due to invalid IL or missing references)
16956 //IL_365d7: Unknown result type (might be due to invalid IL or missing references)
16957 //IL_365ea: Unknown result type (might be due to invalid IL or missing references)
16958 //IL_345e9: Unknown result type (might be due to invalid IL or missing references)
16959 //IL_30664: Unknown result type (might be due to invalid IL or missing references)
16960 //IL_3066f: Unknown result type (might be due to invalid IL or missing references)
16961 //IL_4337d: Unknown result type (might be due to invalid IL or missing references)
16962 //IL_43390: Unknown result type (might be due to invalid IL or missing references)
16963 //IL_43324: Unknown result type (might be due to invalid IL or missing references)
16964 //IL_4283d: Unknown result type (might be due to invalid IL or missing references)
16965 //IL_40294: Unknown result type (might be due to invalid IL or missing references)
16966 //IL_4029f: Unknown result type (might be due to invalid IL or missing references)
16967 //IL_3efbe: Unknown result type (might be due to invalid IL or missing references)
16968 //IL_3efc4: Unknown result type (might be due to invalid IL or missing references)
16969 //IL_3efc9: Unknown result type (might be due to invalid IL or missing references)
16970 //IL_3efd8: Unknown result type (might be due to invalid IL or missing references)
16971 //IL_3efdd: Unknown result type (might be due to invalid IL or missing references)
16972 //IL_3efe2: Unknown result type (might be due to invalid IL or missing references)
16973 //IL_3ce08: Unknown result type (might be due to invalid IL or missing references)
16974 //IL_3ce13: Unknown result type (might be due to invalid IL or missing references)
16975 //IL_3ce18: Unknown result type (might be due to invalid IL or missing references)
16976 //IL_3ce1f: Unknown result type (might be due to invalid IL or missing references)
16977 //IL_3ce24: Unknown result type (might be due to invalid IL or missing references)
16978 //IL_3ce2a: Unknown result type (might be due to invalid IL or missing references)
16979 //IL_3ce30: Unknown result type (might be due to invalid IL or missing references)
16980 //IL_3ccdb: Unknown result type (might be due to invalid IL or missing references)
16981 //IL_3cce6: Unknown result type (might be due to invalid IL or missing references)
16982 //IL_3cceb: Unknown result type (might be due to invalid IL or missing references)
16983 //IL_3ccf2: Unknown result type (might be due to invalid IL or missing references)
16984 //IL_3ccf7: Unknown result type (might be due to invalid IL or missing references)
16985 //IL_3ccfd: Unknown result type (might be due to invalid IL or missing references)
16986 //IL_3cd03: Unknown result type (might be due to invalid IL or missing references)
16987 //IL_3c285: Unknown result type (might be due to invalid IL or missing references)
16988 //IL_3a9b5: Unknown result type (might be due to invalid IL or missing references)
16989 //IL_3a9bf: Unknown result type (might be due to invalid IL or missing references)
16990 //IL_3a9c4: Unknown result type (might be due to invalid IL or missing references)
16991 //IL_38317: Unknown result type (might be due to invalid IL or missing references)
16992 //IL_38334: Unknown result type (might be due to invalid IL or missing references)
16993 //IL_37f2e: Unknown result type (might be due to invalid IL or missing references)
16994 //IL_37f34: Unknown result type (might be due to invalid IL or missing references)
16995 //IL_37f39: Unknown result type (might be due to invalid IL or missing references)
16996 //IL_37f3e: Unknown result type (might be due to invalid IL or missing references)
16997 //IL_37f44: Unknown result type (might be due to invalid IL or missing references)
16998 //IL_37f4a: Unknown result type (might be due to invalid IL or missing references)
16999 //IL_37f4f: Unknown result type (might be due to invalid IL or missing references)
17000 //IL_36b27: Unknown result type (might be due to invalid IL or missing references)
17001 //IL_36b3d: Unknown result type (might be due to invalid IL or missing references)
17002 //IL_3688d: Unknown result type (might be due to invalid IL or missing references)
17003 //IL_36898: Unknown result type (might be due to invalid IL or missing references)
17004 //IL_3689d: Unknown result type (might be due to invalid IL or missing references)
17005 //IL_2a1ae: Unknown result type (might be due to invalid IL or missing references)
17006 //IL_2a1ba: Unknown result type (might be due to invalid IL or missing references)
17007 //IL_29d7d: Unknown result type (might be due to invalid IL or missing references)
17008 //IL_29d88: Unknown result type (might be due to invalid IL or missing references)
17009 //IL_28712: Unknown result type (might be due to invalid IL or missing references)
17010 //IL_2872a: Unknown result type (might be due to invalid IL or missing references)
17011 //IL_436cf: Unknown result type (might be due to invalid IL or missing references)
17012 //IL_436d5: Unknown result type (might be due to invalid IL or missing references)
17013 //IL_436da: Unknown result type (might be due to invalid IL or missing references)
17014 //IL_436df: Unknown result type (might be due to invalid IL or missing references)
17015 //IL_433bc: Unknown result type (might be due to invalid IL or missing references)
17016 //IL_433c2: Unknown result type (might be due to invalid IL or missing references)
17017 //IL_433c7: Unknown result type (might be due to invalid IL or missing references)
17018 //IL_433cc: Unknown result type (might be due to invalid IL or missing references)
17019 //IL_43234: Unknown result type (might be due to invalid IL or missing references)
17020 //IL_4323f: Unknown result type (might be due to invalid IL or missing references)
17021 //IL_4260a: Unknown result type (might be due to invalid IL or missing references)
17022 //IL_4260f: Unknown result type (might be due to invalid IL or missing references)
17023 //IL_42619: Unknown result type (might be due to invalid IL or missing references)
17024 //IL_4261e: Unknown result type (might be due to invalid IL or missing references)
17025 //IL_42623: Unknown result type (might be due to invalid IL or missing references)
17026 //IL_4263f: Unknown result type (might be due to invalid IL or missing references)
17027 //IL_42645: Unknown result type (might be due to invalid IL or missing references)
17028 //IL_42647: Unknown result type (might be due to invalid IL or missing references)
17029 //IL_4264c: Unknown result type (might be due to invalid IL or missing references)
17030 //IL_42665: Unknown result type (might be due to invalid IL or missing references)
17031 //IL_4266b: Unknown result type (might be due to invalid IL or missing references)
17032 //IL_42689: Unknown result type (might be due to invalid IL or missing references)
17033 //IL_4268e: Unknown result type (might be due to invalid IL or missing references)
17034 //IL_42693: Unknown result type (might be due to invalid IL or missing references)
17035 //IL_426ee: Unknown result type (might be due to invalid IL or missing references)
17036 //IL_426fb: Unknown result type (might be due to invalid IL or missing references)
17037 //IL_42705: Unknown result type (might be due to invalid IL or missing references)
17038 //IL_4270a: Unknown result type (might be due to invalid IL or missing references)
17039 //IL_3d20f: Unknown result type (might be due to invalid IL or missing references)
17040 //IL_3d214: Unknown result type (might be due to invalid IL or missing references)
17041 //IL_3d22b: Unknown result type (might be due to invalid IL or missing references)
17042 //IL_3d230: Unknown result type (might be due to invalid IL or missing references)
17043 //IL_3d236: Unknown result type (might be due to invalid IL or missing references)
17044 //IL_3d23b: Unknown result type (might be due to invalid IL or missing references)
17045 //IL_3d241: Unknown result type (might be due to invalid IL or missing references)
17046 //IL_3d258: Unknown result type (might be due to invalid IL or missing references)
17047 //IL_3d25d: Unknown result type (might be due to invalid IL or missing references)
17048 //IL_3d262: Unknown result type (might be due to invalid IL or missing references)
17049 //IL_3da6e: Unknown result type (might be due to invalid IL or missing references)
17050 //IL_3da73: Unknown result type (might be due to invalid IL or missing references)
17051 //IL_3da8a: Unknown result type (might be due to invalid IL or missing references)
17052 //IL_3da8f: Unknown result type (might be due to invalid IL or missing references)
17053 //IL_3da95: Unknown result type (might be due to invalid IL or missing references)
17054 //IL_3da9a: Unknown result type (might be due to invalid IL or missing references)
17055 //IL_3daa0: Unknown result type (might be due to invalid IL or missing references)
17056 //IL_3dab7: Unknown result type (might be due to invalid IL or missing references)
17057 //IL_3dabc: Unknown result type (might be due to invalid IL or missing references)
17058 //IL_3dac1: Unknown result type (might be due to invalid IL or missing references)
17059 //IL_3dac7: Unknown result type (might be due to invalid IL or missing references)
17060 //IL_3dade: Unknown result type (might be due to invalid IL or missing references)
17061 //IL_3dae3: Unknown result type (might be due to invalid IL or missing references)
17062 //IL_3dae8: Unknown result type (might be due to invalid IL or missing references)
17063 //IL_3daee: Unknown result type (might be due to invalid IL or missing references)
17064 //IL_3daf9: Unknown result type (might be due to invalid IL or missing references)
17065 //IL_3ce4e: Unknown result type (might be due to invalid IL or missing references)
17066 //IL_3ce55: Unknown result type (might be due to invalid IL or missing references)
17067 //IL_3ce5f: Unknown result type (might be due to invalid IL or missing references)
17068 //IL_3ce64: Unknown result type (might be due to invalid IL or missing references)
17069 //IL_3ce3d: Unknown result type (might be due to invalid IL or missing references)
17070 //IL_3cd21: Unknown result type (might be due to invalid IL or missing references)
17071 //IL_3cd28: Unknown result type (might be due to invalid IL or missing references)
17072 //IL_3cd32: Unknown result type (might be due to invalid IL or missing references)
17073 //IL_3cd37: Unknown result type (might be due to invalid IL or missing references)
17074 //IL_3cd10: Unknown result type (might be due to invalid IL or missing references)
17075 //IL_38371: Unknown result type (might be due to invalid IL or missing references)
17076 //IL_38377: Unknown result type (might be due to invalid IL or missing references)
17077 //IL_3837c: Unknown result type (might be due to invalid IL or missing references)
17078 //IL_38381: Unknown result type (might be due to invalid IL or missing references)
17079 //IL_38387: Unknown result type (might be due to invalid IL or missing references)
17080 //IL_3838d: Unknown result type (might be due to invalid IL or missing references)
17081 //IL_38392: Unknown result type (might be due to invalid IL or missing references)
17082 //IL_36d76: Unknown result type (might be due to invalid IL or missing references)
17083 //IL_36d80: Unknown result type (might be due to invalid IL or missing references)
17084 //IL_36d85: Unknown result type (might be due to invalid IL or missing references)
17085 //IL_3690c: Unknown result type (might be due to invalid IL or missing references)
17086 //IL_36945: Unknown result type (might be due to invalid IL or missing references)
17087 //IL_3694f: Unknown result type (might be due to invalid IL or missing references)
17088 //IL_36954: Unknown result type (might be due to invalid IL or missing references)
17089 //IL_36959: Unknown result type (might be due to invalid IL or missing references)
17090 //IL_3696a: Unknown result type (might be due to invalid IL or missing references)
17091 //IL_36976: Unknown result type (might be due to invalid IL or missing references)
17092 //IL_3697b: Unknown result type (might be due to invalid IL or missing references)
17093 //IL_36982: Unknown result type (might be due to invalid IL or missing references)
17094 //IL_36988: Unknown result type (might be due to invalid IL or missing references)
17095 //IL_36625: Unknown result type (might be due to invalid IL or missing references)
17096 //IL_29de3: Unknown result type (might be due to invalid IL or missing references)
17097 //IL_29e24: Unknown result type (might be due to invalid IL or missing references)
17098 //IL_287eb: Unknown result type (might be due to invalid IL or missing references)
17099 //IL_287f6: Unknown result type (might be due to invalid IL or missing references)
17100 //IL_43962: Unknown result type (might be due to invalid IL or missing references)
17101 //IL_43968: Unknown result type (might be due to invalid IL or missing references)
17102 //IL_4396d: Unknown result type (might be due to invalid IL or missing references)
17103 //IL_43972: Unknown result type (might be due to invalid IL or missing references)
17104 //IL_436fe: Unknown result type (might be due to invalid IL or missing references)
17105 //IL_43704: Unknown result type (might be due to invalid IL or missing references)
17106 //IL_43709: Unknown result type (might be due to invalid IL or missing references)
17107 //IL_4370e: Unknown result type (might be due to invalid IL or missing references)
17108 //IL_4342b: Unknown result type (might be due to invalid IL or missing references)
17109 //IL_43430: Unknown result type (might be due to invalid IL or missing references)
17110 //IL_43448: Unknown result type (might be due to invalid IL or missing references)
17111 //IL_43457: Unknown result type (might be due to invalid IL or missing references)
17112 //IL_4345e: Unknown result type (might be due to invalid IL or missing references)
17113 //IL_43463: Unknown result type (might be due to invalid IL or missing references)
17114 //IL_43468: Unknown result type (might be due to invalid IL or missing references)
17115 //IL_3f05a: Unknown result type (might be due to invalid IL or missing references)
17116 //IL_3d88b: Unknown result type (might be due to invalid IL or missing references)
17117 //IL_3d89c: Unknown result type (might be due to invalid IL or missing references)
17118 //IL_3d8a6: Unknown result type (might be due to invalid IL or missing references)
17119 //IL_3d8ab: Unknown result type (might be due to invalid IL or missing references)
17120 //IL_3d8b1: Unknown result type (might be due to invalid IL or missing references)
17121 //IL_3d8b6: Unknown result type (might be due to invalid IL or missing references)
17122 //IL_3d8bb: Unknown result type (might be due to invalid IL or missing references)
17123 //IL_3d8d0: Unknown result type (might be due to invalid IL or missing references)
17124 //IL_3d291: Unknown result type (might be due to invalid IL or missing references)
17125 //IL_3d298: Unknown result type (might be due to invalid IL or missing references)
17126 //IL_3d29d: Unknown result type (might be due to invalid IL or missing references)
17127 //IL_3d2a2: Unknown result type (might be due to invalid IL or missing references)
17128 //IL_3d2a8: Unknown result type (might be due to invalid IL or missing references)
17129 //IL_3d2ae: Unknown result type (might be due to invalid IL or missing references)
17130 //IL_3d183: Unknown result type (might be due to invalid IL or missing references)
17131 //IL_3d19c: Unknown result type (might be due to invalid IL or missing references)
17132 //IL_3d1a8: Unknown result type (might be due to invalid IL or missing references)
17133 //IL_3cf84: Unknown result type (might be due to invalid IL or missing references)
17134 //IL_3cf9d: Unknown result type (might be due to invalid IL or missing references)
17135 //IL_3cfa9: Unknown result type (might be due to invalid IL or missing references)
17136 //IL_3db21: Unknown result type (might be due to invalid IL or missing references)
17137 //IL_3db2c: Unknown result type (might be due to invalid IL or missing references)
17138 //IL_3b398: Unknown result type (might be due to invalid IL or missing references)
17139 //IL_3b3b7: Unknown result type (might be due to invalid IL or missing references)
17140 //IL_3b461: Unknown result type (might be due to invalid IL or missing references)
17141 //IL_3b46d: Unknown result type (might be due to invalid IL or missing references)
17142 //IL_3aa4b: Unknown result type (might be due to invalid IL or missing references)
17143 //IL_3aa67: Unknown result type (might be due to invalid IL or missing references)
17144 //IL_3aa6d: Unknown result type (might be due to invalid IL or missing references)
17145 //IL_3aa6f: Unknown result type (might be due to invalid IL or missing references)
17146 //IL_383c3: Unknown result type (might be due to invalid IL or missing references)
17147 //IL_383c8: Unknown result type (might be due to invalid IL or missing references)
17148 //IL_383cf: Unknown result type (might be due to invalid IL or missing references)
17149 //IL_383d4: Unknown result type (might be due to invalid IL or missing references)
17150 //IL_383da: Unknown result type (might be due to invalid IL or missing references)
17151 //IL_383e0: Unknown result type (might be due to invalid IL or missing references)
17152 //IL_383e6: Unknown result type (might be due to invalid IL or missing references)
17153 //IL_383eb: Unknown result type (might be due to invalid IL or missing references)
17154 //IL_383f0: Unknown result type (might be due to invalid IL or missing references)
17155 //IL_383f6: Unknown result type (might be due to invalid IL or missing references)
17156 //IL_36e11: Unknown result type (might be due to invalid IL or missing references)
17157 //IL_36e16: Unknown result type (might be due to invalid IL or missing references)
17158 //IL_36e6a: Unknown result type (might be due to invalid IL or missing references)
17159 //IL_36e6f: Unknown result type (might be due to invalid IL or missing references)
17160 //IL_36e91: Unknown result type (might be due to invalid IL or missing references)
17161 //IL_36ea0: Unknown result type (might be due to invalid IL or missing references)
17162 //IL_36da2: Unknown result type (might be due to invalid IL or missing references)
17163 //IL_36db3: Unknown result type (might be due to invalid IL or missing references)
17164 //IL_36bba: Unknown result type (might be due to invalid IL or missing references)
17165 //IL_36bc4: Unknown result type (might be due to invalid IL or missing references)
17166 //IL_36bc9: Unknown result type (might be due to invalid IL or missing references)
17167 //IL_3683d: Unknown result type (might be due to invalid IL or missing references)
17168 //IL_36843: Unknown result type (might be due to invalid IL or missing references)
17169 //IL_36848: Unknown result type (might be due to invalid IL or missing references)
17170 //IL_3684d: Unknown result type (might be due to invalid IL or missing references)
17171 //IL_36852: Unknown result type (might be due to invalid IL or missing references)
17172 //IL_3685c: Unknown result type (might be due to invalid IL or missing references)
17173 //IL_36861: Unknown result type (might be due to invalid IL or missing references)
17174 //IL_36869: Unknown result type (might be due to invalid IL or missing references)
17175 //IL_3686e: Unknown result type (might be due to invalid IL or missing references)
17176 //IL_36879: Unknown result type (might be due to invalid IL or missing references)
17177 //IL_3687e: Unknown result type (might be due to invalid IL or missing references)
17178 //IL_3663e: Unknown result type (might be due to invalid IL or missing references)
17179 //IL_45205: Unknown result type (might be due to invalid IL or missing references)
17180 //IL_4520b: Unknown result type (might be due to invalid IL or missing references)
17181 //IL_45210: Unknown result type (might be due to invalid IL or missing references)
17182 //IL_45215: Unknown result type (might be due to invalid IL or missing references)
17183 //IL_43a88: Unknown result type (might be due to invalid IL or missing references)
17184 //IL_43a8f: Unknown result type (might be due to invalid IL or missing references)
17185 //IL_43a94: Unknown result type (might be due to invalid IL or missing references)
17186 //IL_43a99: Unknown result type (might be due to invalid IL or missing references)
17187 //IL_439be: Unknown result type (might be due to invalid IL or missing references)
17188 //IL_439ca: Unknown result type (might be due to invalid IL or missing references)
17189 //IL_439cf: Unknown result type (might be due to invalid IL or missing references)
17190 //IL_439d7: Unknown result type (might be due to invalid IL or missing references)
17191 //IL_439e5: Unknown result type (might be due to invalid IL or missing references)
17192 //IL_439ea: Unknown result type (might be due to invalid IL or missing references)
17193 //IL_439f0: Unknown result type (might be due to invalid IL or missing references)
17194 //IL_439fc: Unknown result type (might be due to invalid IL or missing references)
17195 //IL_43a01: Unknown result type (might be due to invalid IL or missing references)
17196 //IL_43774: Unknown result type (might be due to invalid IL or missing references)
17197 //IL_43780: Unknown result type (might be due to invalid IL or missing references)
17198 //IL_43785: Unknown result type (might be due to invalid IL or missing references)
17199 //IL_4378d: Unknown result type (might be due to invalid IL or missing references)
17200 //IL_4379b: Unknown result type (might be due to invalid IL or missing references)
17201 //IL_437a0: Unknown result type (might be due to invalid IL or missing references)
17202 //IL_437a6: Unknown result type (might be due to invalid IL or missing references)
17203 //IL_437b2: Unknown result type (might be due to invalid IL or missing references)
17204 //IL_437b7: Unknown result type (might be due to invalid IL or missing references)
17205 //IL_437bd: Unknown result type (might be due to invalid IL or missing references)
17206 //IL_437d0: Unknown result type (might be due to invalid IL or missing references)
17207 //IL_4358a: Unknown result type (might be due to invalid IL or missing references)
17208 //IL_4358f: Unknown result type (might be due to invalid IL or missing references)
17209 //IL_435a7: Unknown result type (might be due to invalid IL or missing references)
17210 //IL_435b6: Unknown result type (might be due to invalid IL or missing references)
17211 //IL_435bd: Unknown result type (might be due to invalid IL or missing references)
17212 //IL_435c2: Unknown result type (might be due to invalid IL or missing references)
17213 //IL_435c7: Unknown result type (might be due to invalid IL or missing references)
17214 //IL_43484: Unknown result type (might be due to invalid IL or missing references)
17215 //IL_4348b: Unknown result type (might be due to invalid IL or missing references)
17216 //IL_4271d: Unknown result type (might be due to invalid IL or missing references)
17217 //IL_42722: Unknown result type (might be due to invalid IL or missing references)
17218 //IL_4272c: Unknown result type (might be due to invalid IL or missing references)
17219 //IL_42731: Unknown result type (might be due to invalid IL or missing references)
17220 //IL_42736: Unknown result type (might be due to invalid IL or missing references)
17221 //IL_42752: Unknown result type (might be due to invalid IL or missing references)
17222 //IL_42758: Unknown result type (might be due to invalid IL or missing references)
17223 //IL_4275a: Unknown result type (might be due to invalid IL or missing references)
17224 //IL_4275f: Unknown result type (might be due to invalid IL or missing references)
17225 //IL_42778: Unknown result type (might be due to invalid IL or missing references)
17226 //IL_4277e: Unknown result type (might be due to invalid IL or missing references)
17227 //IL_403a9: Unknown result type (might be due to invalid IL or missing references)
17228 //IL_403b4: Unknown result type (might be due to invalid IL or missing references)
17229 //IL_3d2bd: Unknown result type (might be due to invalid IL or missing references)
17230 //IL_3d2c3: Unknown result type (might be due to invalid IL or missing references)
17231 //IL_3d2d6: Unknown result type (might be due to invalid IL or missing references)
17232 //IL_3d2db: Unknown result type (might be due to invalid IL or missing references)
17233 //IL_3d2f6: Unknown result type (might be due to invalid IL or missing references)
17234 //IL_3d300: Unknown result type (might be due to invalid IL or missing references)
17235 //IL_3d305: Unknown result type (might be due to invalid IL or missing references)
17236 //IL_3cff6: Unknown result type (might be due to invalid IL or missing references)
17237 //IL_3cffb: Unknown result type (might be due to invalid IL or missing references)
17238 //IL_3d009: Unknown result type (might be due to invalid IL or missing references)
17239 //IL_3d00e: Unknown result type (might be due to invalid IL or missing references)
17240 //IL_3d013: Unknown result type (might be due to invalid IL or missing references)
17241 //IL_3d01a: Unknown result type (might be due to invalid IL or missing references)
17242 //IL_3d01f: Unknown result type (might be due to invalid IL or missing references)
17243 //IL_3d025: Unknown result type (might be due to invalid IL or missing references)
17244 //IL_3d035: Unknown result type (might be due to invalid IL or missing references)
17245 //IL_3d03f: Unknown result type (might be due to invalid IL or missing references)
17246 //IL_3d044: Unknown result type (might be due to invalid IL or missing references)
17247 //IL_3d049: Unknown result type (might be due to invalid IL or missing references)
17248 //IL_3d04f: Unknown result type (might be due to invalid IL or missing references)
17249 //IL_3d054: Unknown result type (might be due to invalid IL or missing references)
17250 //IL_3d05a: Unknown result type (might be due to invalid IL or missing references)
17251 //IL_3d060: Unknown result type (might be due to invalid IL or missing references)
17252 //IL_3d06a: Unknown result type (might be due to invalid IL or missing references)
17253 //IL_3d06f: Unknown result type (might be due to invalid IL or missing references)
17254 //IL_3d0ab: Unknown result type (might be due to invalid IL or missing references)
17255 //IL_3d0b6: Unknown result type (might be due to invalid IL or missing references)
17256 //IL_3d0c1: Unknown result type (might be due to invalid IL or missing references)
17257 //IL_3d0cc: Unknown result type (might be due to invalid IL or missing references)
17258 //IL_3db55: Unknown result type (might be due to invalid IL or missing references)
17259 //IL_3db5b: Unknown result type (might be due to invalid IL or missing references)
17260 //IL_3db60: Unknown result type (might be due to invalid IL or missing references)
17261 //IL_3db65: Unknown result type (might be due to invalid IL or missing references)
17262 //IL_3db6b: Unknown result type (might be due to invalid IL or missing references)
17263 //IL_3db71: Unknown result type (might be due to invalid IL or missing references)
17264 //IL_3db76: Unknown result type (might be due to invalid IL or missing references)
17265 //IL_3db7c: Unknown result type (might be due to invalid IL or missing references)
17266 //IL_3db83: Unknown result type (might be due to invalid IL or missing references)
17267 //IL_3db89: Unknown result type (might be due to invalid IL or missing references)
17268 //IL_3db8e: Unknown result type (might be due to invalid IL or missing references)
17269 //IL_3c184: Unknown result type (might be due to invalid IL or missing references)
17270 //IL_3bad9: Unknown result type (might be due to invalid IL or missing references)
17271 //IL_3bade: Unknown result type (might be due to invalid IL or missing references)
17272 //IL_3bae4: Unknown result type (might be due to invalid IL or missing references)
17273 //IL_3baea: Unknown result type (might be due to invalid IL or missing references)
17274 //IL_3b063: Unknown result type (might be due to invalid IL or missing references)
17275 //IL_3b06d: Unknown result type (might be due to invalid IL or missing references)
17276 //IL_3b077: Unknown result type (might be due to invalid IL or missing references)
17277 //IL_3b088: Unknown result type (might be due to invalid IL or missing references)
17278 //IL_3b092: Unknown result type (might be due to invalid IL or missing references)
17279 //IL_3b097: Unknown result type (might be due to invalid IL or missing references)
17280 //IL_3b09c: Unknown result type (might be due to invalid IL or missing references)
17281 //IL_3b0a1: Unknown result type (might be due to invalid IL or missing references)
17282 //IL_3aa99: Unknown result type (might be due to invalid IL or missing references)
17283 //IL_3aab5: Unknown result type (might be due to invalid IL or missing references)
17284 //IL_3aabb: Unknown result type (might be due to invalid IL or missing references)
17285 //IL_3aabd: Unknown result type (might be due to invalid IL or missing references)
17286 //IL_388c2: Unknown result type (might be due to invalid IL or missing references)
17287 //IL_388c8: Unknown result type (might be due to invalid IL or missing references)
17288 //IL_388cd: Unknown result type (might be due to invalid IL or missing references)
17289 //IL_388d2: Unknown result type (might be due to invalid IL or missing references)
17290 //IL_388d8: Unknown result type (might be due to invalid IL or missing references)
17291 //IL_387f5: Unknown result type (might be due to invalid IL or missing references)
17292 //IL_386f4: Unknown result type (might be due to invalid IL or missing references)
17293 //IL_386f9: Unknown result type (might be due to invalid IL or missing references)
17294 //IL_386fe: Unknown result type (might be due to invalid IL or missing references)
17295 //IL_38704: Unknown result type (might be due to invalid IL or missing references)
17296 //IL_3872a: Unknown result type (might be due to invalid IL or missing references)
17297 //IL_38730: Unknown result type (might be due to invalid IL or missing references)
17298 //IL_38732: Unknown result type (might be due to invalid IL or missing references)
17299 //IL_38737: Unknown result type (might be due to invalid IL or missing references)
17300 //IL_3873d: Unknown result type (might be due to invalid IL or missing references)
17301 //IL_38748: Unknown result type (might be due to invalid IL or missing references)
17302 //IL_3874d: Unknown result type (might be due to invalid IL or missing references)
17303 //IL_3875a: Unknown result type (might be due to invalid IL or missing references)
17304 //IL_3875f: Unknown result type (might be due to invalid IL or missing references)
17305 //IL_38769: Unknown result type (might be due to invalid IL or missing references)
17306 //IL_3876f: Unknown result type (might be due to invalid IL or missing references)
17307 //IL_38774: Unknown result type (might be due to invalid IL or missing references)
17308 //IL_38779: Unknown result type (might be due to invalid IL or missing references)
17309 //IL_38783: Unknown result type (might be due to invalid IL or missing references)
17310 //IL_38788: Unknown result type (might be due to invalid IL or missing references)
17311 //IL_3878d: Unknown result type (might be due to invalid IL or missing references)
17312 //IL_38799: Unknown result type (might be due to invalid IL or missing references)
17313 //IL_387a4: Unknown result type (might be due to invalid IL or missing references)
17314 //IL_387af: Unknown result type (might be due to invalid IL or missing references)
17315 //IL_387ba: Unknown result type (might be due to invalid IL or missing references)
17316 //IL_3841a: Unknown result type (might be due to invalid IL or missing references)
17317 //IL_3841f: Unknown result type (might be due to invalid IL or missing references)
17318 //IL_38408: Unknown result type (might be due to invalid IL or missing references)
17319 //IL_36c05: Unknown result type (might be due to invalid IL or missing references)
17320 //IL_36c0a: Unknown result type (might be due to invalid IL or missing references)
17321 //IL_36c1c: Unknown result type (might be due to invalid IL or missing references)
17322 //IL_36c21: Unknown result type (might be due to invalid IL or missing references)
17323 //IL_36c27: Unknown result type (might be due to invalid IL or missing references)
17324 //IL_36c2d: Unknown result type (might be due to invalid IL or missing references)
17325 //IL_36c33: Unknown result type (might be due to invalid IL or missing references)
17326 //IL_36c38: Unknown result type (might be due to invalid IL or missing references)
17327 //IL_36c49: Unknown result type (might be due to invalid IL or missing references)
17328 //IL_369af: Unknown result type (might be due to invalid IL or missing references)
17329 //IL_369b5: Unknown result type (might be due to invalid IL or missing references)
17330 //IL_369ba: Unknown result type (might be due to invalid IL or missing references)
17331 //IL_369bf: Unknown result type (might be due to invalid IL or missing references)
17332 //IL_369c5: Unknown result type (might be due to invalid IL or missing references)
17333 //IL_369e9: Unknown result type (might be due to invalid IL or missing references)
17334 //IL_369ef: Unknown result type (might be due to invalid IL or missing references)
17335 //IL_36a31: Unknown result type (might be due to invalid IL or missing references)
17336 //IL_36a3b: Unknown result type (might be due to invalid IL or missing references)
17337 //IL_36a40: Unknown result type (might be due to invalid IL or missing references)
17338 //IL_36a5d: Unknown result type (might be due to invalid IL or missing references)
17339 //IL_36a67: Unknown result type (might be due to invalid IL or missing references)
17340 //IL_36a78: Unknown result type (might be due to invalid IL or missing references)
17341 //IL_36a7e: Unknown result type (might be due to invalid IL or missing references)
17342 //IL_36a83: Unknown result type (might be due to invalid IL or missing references)
17343 //IL_36a88: Unknown result type (might be due to invalid IL or missing references)
17344 //IL_36a8d: Unknown result type (might be due to invalid IL or missing references)
17345 //IL_36a92: Unknown result type (might be due to invalid IL or missing references)
17346 //IL_36a99: Unknown result type (might be due to invalid IL or missing references)
17347 //IL_36a9f: Unknown result type (might be due to invalid IL or missing references)
17348 //IL_36aa4: Unknown result type (might be due to invalid IL or missing references)
17349 //IL_36aa9: Unknown result type (might be due to invalid IL or missing references)
17350 //IL_366c6: Unknown result type (might be due to invalid IL or missing references)
17351 //IL_366fc: Unknown result type (might be due to invalid IL or missing references)
17352 //IL_363bf: Unknown result type (might be due to invalid IL or missing references)
17353 //IL_363c5: Unknown result type (might be due to invalid IL or missing references)
17354 //IL_363ca: Unknown result type (might be due to invalid IL or missing references)
17355 //IL_363cf: Unknown result type (might be due to invalid IL or missing references)
17356 //IL_363d5: Unknown result type (might be due to invalid IL or missing references)
17357 //IL_363e1: Unknown result type (might be due to invalid IL or missing references)
17358 //IL_363e6: Unknown result type (might be due to invalid IL or missing references)
17359 //IL_36422: Unknown result type (might be due to invalid IL or missing references)
17360 //IL_36428: Unknown result type (might be due to invalid IL or missing references)
17361 //IL_3646a: Unknown result type (might be due to invalid IL or missing references)
17362 //IL_36474: Unknown result type (might be due to invalid IL or missing references)
17363 //IL_36479: Unknown result type (might be due to invalid IL or missing references)
17364 //IL_36496: Unknown result type (might be due to invalid IL or missing references)
17365 //IL_3649c: Unknown result type (might be due to invalid IL or missing references)
17366 //IL_364a1: Unknown result type (might be due to invalid IL or missing references)
17367 //IL_364a6: Unknown result type (might be due to invalid IL or missing references)
17368 //IL_462ac: Unknown result type (might be due to invalid IL or missing references)
17369 //IL_462b2: Unknown result type (might be due to invalid IL or missing references)
17370 //IL_462b7: Unknown result type (might be due to invalid IL or missing references)
17371 //IL_462bc: Unknown result type (might be due to invalid IL or missing references)
17372 //IL_43ae9: Unknown result type (might be due to invalid IL or missing references)
17373 //IL_43af5: Unknown result type (might be due to invalid IL or missing references)
17374 //IL_43afa: Unknown result type (might be due to invalid IL or missing references)
17375 //IL_43b02: Unknown result type (might be due to invalid IL or missing references)
17376 //IL_43b13: Unknown result type (might be due to invalid IL or missing references)
17377 //IL_43b18: Unknown result type (might be due to invalid IL or missing references)
17378 //IL_43b1e: Unknown result type (might be due to invalid IL or missing references)
17379 //IL_43b29: Unknown result type (might be due to invalid IL or missing references)
17380 //IL_43b2e: Unknown result type (might be due to invalid IL or missing references)
17381 //IL_43a17: Unknown result type (might be due to invalid IL or missing references)
17382 //IL_435d8: Unknown result type (might be due to invalid IL or missing references)
17383 //IL_435df: Unknown result type (might be due to invalid IL or missing references)
17384 //IL_434b1: Unknown result type (might be due to invalid IL or missing references)
17385 //IL_434c4: Unknown result type (might be due to invalid IL or missing references)
17386 //IL_434d1: Unknown result type (might be due to invalid IL or missing references)
17387 //IL_434d6: Unknown result type (might be due to invalid IL or missing references)
17388 //IL_434ee: Unknown result type (might be due to invalid IL or missing references)
17389 //IL_409b1: Unknown result type (might be due to invalid IL or missing references)
17390 //IL_409c2: Unknown result type (might be due to invalid IL or missing references)
17391 //IL_409cc: Unknown result type (might be due to invalid IL or missing references)
17392 //IL_409d1: Unknown result type (might be due to invalid IL or missing references)
17393 //IL_409d7: Unknown result type (might be due to invalid IL or missing references)
17394 //IL_409dc: Unknown result type (might be due to invalid IL or missing references)
17395 //IL_409e1: Unknown result type (might be due to invalid IL or missing references)
17396 //IL_409f6: Unknown result type (might be due to invalid IL or missing references)
17397 //IL_3f938: Unknown result type (might be due to invalid IL or missing references)
17398 //IL_3f949: Unknown result type (might be due to invalid IL or missing references)
17399 //IL_3f953: Unknown result type (might be due to invalid IL or missing references)
17400 //IL_3f958: Unknown result type (might be due to invalid IL or missing references)
17401 //IL_3f95e: Unknown result type (might be due to invalid IL or missing references)
17402 //IL_3f963: Unknown result type (might be due to invalid IL or missing references)
17403 //IL_3f968: Unknown result type (might be due to invalid IL or missing references)
17404 //IL_3f97d: Unknown result type (might be due to invalid IL or missing references)
17405 //IL_3f662: Unknown result type (might be due to invalid IL or missing references)
17406 //IL_3f667: Unknown result type (might be due to invalid IL or missing references)
17407 //IL_3f66d: Unknown result type (might be due to invalid IL or missing references)
17408 //IL_3f672: Unknown result type (might be due to invalid IL or missing references)
17409 //IL_3f0fc: Unknown result type (might be due to invalid IL or missing references)
17410 //IL_3f101: Unknown result type (might be due to invalid IL or missing references)
17411 //IL_3d500: Unknown result type (might be due to invalid IL or missing references)
17412 //IL_3d50a: Unknown result type (might be due to invalid IL or missing references)
17413 //IL_3d50f: Unknown result type (might be due to invalid IL or missing references)
17414 //IL_3d444: Unknown result type (might be due to invalid IL or missing references)
17415 //IL_3d44a: Unknown result type (might be due to invalid IL or missing references)
17416 //IL_3d450: Unknown result type (might be due to invalid IL or missing references)
17417 //IL_3d456: Unknown result type (might be due to invalid IL or missing references)
17418 //IL_3d46d: Unknown result type (might be due to invalid IL or missing references)
17419 //IL_3d473: Unknown result type (might be due to invalid IL or missing references)
17420 //IL_3d478: Unknown result type (might be due to invalid IL or missing references)
17421 //IL_3d47d: Unknown result type (might be due to invalid IL or missing references)
17422 //IL_3d483: Unknown result type (might be due to invalid IL or missing references)
17423 //IL_3d489: Unknown result type (might be due to invalid IL or missing references)
17424 //IL_3db9b: Unknown result type (might be due to invalid IL or missing references)
17425 //IL_3dba2: Unknown result type (might be due to invalid IL or missing references)
17426 //IL_3dba7: Unknown result type (might be due to invalid IL or missing references)
17427 //IL_3c1b9: Unknown result type (might be due to invalid IL or missing references)
17428 //IL_3bb01: Unknown result type (might be due to invalid IL or missing references)
17429 //IL_3bb1d: Unknown result type (might be due to invalid IL or missing references)
17430 //IL_3bb22: Unknown result type (might be due to invalid IL or missing references)
17431 //IL_3bb30: Unknown result type (might be due to invalid IL or missing references)
17432 //IL_3bb35: Unknown result type (might be due to invalid IL or missing references)
17433 //IL_3bb3b: Unknown result type (might be due to invalid IL or missing references)
17434 //IL_3bb40: Unknown result type (might be due to invalid IL or missing references)
17435 //IL_3bb46: Unknown result type (might be due to invalid IL or missing references)
17436 //IL_3bb4c: Unknown result type (might be due to invalid IL or missing references)
17437 //IL_3bb51: Unknown result type (might be due to invalid IL or missing references)
17438 //IL_3bb57: Unknown result type (might be due to invalid IL or missing references)
17439 //IL_3bb62: Unknown result type (might be due to invalid IL or missing references)
17440 //IL_3aae7: Unknown result type (might be due to invalid IL or missing references)
17441 //IL_3ab03: Unknown result type (might be due to invalid IL or missing references)
17442 //IL_3ab09: Unknown result type (might be due to invalid IL or missing references)
17443 //IL_3ab0b: Unknown result type (might be due to invalid IL or missing references)
17444 //IL_38905: Unknown result type (might be due to invalid IL or missing references)
17445 //IL_384f7: Unknown result type (might be due to invalid IL or missing references)
17446 //IL_384fc: Unknown result type (might be due to invalid IL or missing references)
17447 //IL_38511: Unknown result type (might be due to invalid IL or missing references)
17448 //IL_38517: Unknown result type (might be due to invalid IL or missing references)
17449 //IL_38519: Unknown result type (might be due to invalid IL or missing references)
17450 //IL_38523: Unknown result type (might be due to invalid IL or missing references)
17451 //IL_38528: Unknown result type (might be due to invalid IL or missing references)
17452 //IL_38539: Unknown result type (might be due to invalid IL or missing references)
17453 //IL_38425: Unknown result type (might be due to invalid IL or missing references)
17454 //IL_38430: Unknown result type (might be due to invalid IL or missing references)
17455 //IL_38435: Unknown result type (might be due to invalid IL or missing references)
17456 //IL_3843b: Unknown result type (might be due to invalid IL or missing references)
17457 //IL_38441: Unknown result type (might be due to invalid IL or missing references)
17458 //IL_3844b: Unknown result type (might be due to invalid IL or missing references)
17459 //IL_38450: Unknown result type (might be due to invalid IL or missing references)
17460 //IL_38455: Unknown result type (might be due to invalid IL or missing references)
17461 //IL_381c5: Unknown result type (might be due to invalid IL or missing references)
17462 //IL_381d5: Unknown result type (might be due to invalid IL or missing references)
17463 //IL_37fc4: Unknown result type (might be due to invalid IL or missing references)
17464 //IL_36ecf: Unknown result type (might be due to invalid IL or missing references)
17465 //IL_36ef0: Unknown result type (might be due to invalid IL or missing references)
17466 //IL_36ef6: Unknown result type (might be due to invalid IL or missing references)
17467 //IL_36f26: Unknown result type (might be due to invalid IL or missing references)
17468 //IL_36f30: Unknown result type (might be due to invalid IL or missing references)
17469 //IL_36f35: Unknown result type (might be due to invalid IL or missing references)
17470 //IL_36f57: Unknown result type (might be due to invalid IL or missing references)
17471 //IL_36f6d: Unknown result type (might be due to invalid IL or missing references)
17472 //IL_36f73: Unknown result type (might be due to invalid IL or missing references)
17473 //IL_36f78: Unknown result type (might be due to invalid IL or missing references)
17474 //IL_36f7d: Unknown result type (might be due to invalid IL or missing references)
17475 //IL_36cc3: Unknown result type (might be due to invalid IL or missing references)
17476 //IL_36c6f: Unknown result type (might be due to invalid IL or missing references)
17477 //IL_36c80: Unknown result type (might be due to invalid IL or missing references)
17478 //IL_36c85: Unknown result type (might be due to invalid IL or missing references)
17479 //IL_36c9d: Unknown result type (might be due to invalid IL or missing references)
17480 //IL_36ca2: Unknown result type (might be due to invalid IL or missing references)
17481 //IL_36cad: Unknown result type (might be due to invalid IL or missing references)
17482 //IL_36cb2: Unknown result type (might be due to invalid IL or missing references)
17483 //IL_36796: Unknown result type (might be due to invalid IL or missing references)
17484 //IL_367a9: Unknown result type (might be due to invalid IL or missing references)
17485 //IL_4530f: Unknown result type (might be due to invalid IL or missing references)
17486 //IL_45315: Unknown result type (might be due to invalid IL or missing references)
17487 //IL_4531a: Unknown result type (might be due to invalid IL or missing references)
17488 //IL_4531f: Unknown result type (might be due to invalid IL or missing references)
17489 //IL_4364b: Unknown result type (might be due to invalid IL or missing references)
17490 //IL_43656: Unknown result type (might be due to invalid IL or missing references)
17491 //IL_4365b: Unknown result type (might be due to invalid IL or missing references)
17492 //IL_43663: Unknown result type (might be due to invalid IL or missing references)
17493 //IL_43668: Unknown result type (might be due to invalid IL or missing references)
17494 //IL_4366e: Unknown result type (might be due to invalid IL or missing references)
17495 //IL_43673: Unknown result type (might be due to invalid IL or missing references)
17496 //IL_43602: Unknown result type (might be due to invalid IL or missing references)
17497 //IL_43615: Unknown result type (might be due to invalid IL or missing references)
17498 //IL_43513: Unknown result type (might be due to invalid IL or missing references)
17499 //IL_4351a: Unknown result type (might be due to invalid IL or missing references)
17500 //IL_42be7: Unknown result type (might be due to invalid IL or missing references)
17501 //IL_422de: Unknown result type (might be due to invalid IL or missing references)
17502 //IL_422e8: Unknown result type (might be due to invalid IL or missing references)
17503 //IL_422ed: Unknown result type (might be due to invalid IL or missing references)
17504 //IL_40a6d: Unknown result type (might be due to invalid IL or missing references)
17505 //IL_40a72: Unknown result type (might be due to invalid IL or missing references)
17506 //IL_40a84: Unknown result type (might be due to invalid IL or missing references)
17507 //IL_40a89: Unknown result type (might be due to invalid IL or missing references)
17508 //IL_40a8f: Unknown result type (might be due to invalid IL or missing references)
17509 //IL_40a95: Unknown result type (might be due to invalid IL or missing references)
17510 //IL_40a9b: Unknown result type (might be due to invalid IL or missing references)
17511 //IL_40aa0: Unknown result type (might be due to invalid IL or missing references)
17512 //IL_40aa6: Unknown result type (might be due to invalid IL or missing references)
17513 //IL_40aac: Unknown result type (might be due to invalid IL or missing references)
17514 //IL_40ab6: Unknown result type (might be due to invalid IL or missing references)
17515 //IL_40abb: Unknown result type (might be due to invalid IL or missing references)
17516 //IL_40ac0: Unknown result type (might be due to invalid IL or missing references)
17517 //IL_40ac6: Unknown result type (might be due to invalid IL or missing references)
17518 //IL_40acc: Unknown result type (might be due to invalid IL or missing references)
17519 //IL_40ad7: Unknown result type (might be due to invalid IL or missing references)
17520 //IL_40adc: Unknown result type (might be due to invalid IL or missing references)
17521 //IL_40b05: Unknown result type (might be due to invalid IL or missing references)
17522 //IL_40b39: Unknown result type (might be due to invalid IL or missing references)
17523 //IL_3f2fd: Unknown result type (might be due to invalid IL or missing references)
17524 //IL_3f303: Unknown result type (might be due to invalid IL or missing references)
17525 //IL_3f308: Unknown result type (might be due to invalid IL or missing references)
17526 //IL_3f30d: Unknown result type (might be due to invalid IL or missing references)
17527 //IL_3f329: Unknown result type (might be due to invalid IL or missing references)
17528 //IL_3d52f: Unknown result type (might be due to invalid IL or missing references)
17529 //IL_3d539: Unknown result type (might be due to invalid IL or missing references)
17530 //IL_3d53e: Unknown result type (might be due to invalid IL or missing references)
17531 //IL_3d498: Unknown result type (might be due to invalid IL or missing references)
17532 //IL_3d49e: Unknown result type (might be due to invalid IL or missing references)
17533 //IL_3d4b1: Unknown result type (might be due to invalid IL or missing references)
17534 //IL_3d4b6: Unknown result type (might be due to invalid IL or missing references)
17535 //IL_3d4d1: Unknown result type (might be due to invalid IL or missing references)
17536 //IL_3d4db: Unknown result type (might be due to invalid IL or missing references)
17537 //IL_3d4e0: Unknown result type (might be due to invalid IL or missing references)
17538 //IL_3d3cf: Unknown result type (might be due to invalid IL or missing references)
17539 //IL_3d3da: Unknown result type (might be due to invalid IL or missing references)
17540 //IL_3d3df: Unknown result type (might be due to invalid IL or missing references)
17541 //IL_3d3ec: Unknown result type (might be due to invalid IL or missing references)
17542 //IL_3d3f7: Unknown result type (might be due to invalid IL or missing references)
17543 //IL_3d401: Unknown result type (might be due to invalid IL or missing references)
17544 //IL_3d40c: Unknown result type (might be due to invalid IL or missing references)
17545 //IL_3bfc0: Unknown result type (might be due to invalid IL or missing references)
17546 //IL_3bfc5: Unknown result type (might be due to invalid IL or missing references)
17547 //IL_3bfcb: Unknown result type (might be due to invalid IL or missing references)
17548 //IL_3bfd1: Unknown result type (might be due to invalid IL or missing references)
17549 //IL_3ac2b: Unknown result type (might be due to invalid IL or missing references)
17550 //IL_3ac30: Unknown result type (might be due to invalid IL or missing references)
17551 //IL_3ac36: Unknown result type (might be due to invalid IL or missing references)
17552 //IL_38929: Unknown result type (might be due to invalid IL or missing references)
17553 //IL_3892e: Unknown result type (might be due to invalid IL or missing references)
17554 //IL_38917: Unknown result type (might be due to invalid IL or missing references)
17555 //IL_38469: Unknown result type (might be due to invalid IL or missing references)
17556 //IL_38474: Unknown result type (might be due to invalid IL or missing references)
17557 //IL_3847f: Unknown result type (might be due to invalid IL or missing references)
17558 //IL_3848a: Unknown result type (might be due to invalid IL or missing references)
17559 //IL_3821d: Unknown result type (might be due to invalid IL or missing references)
17560 //IL_3822d: Unknown result type (might be due to invalid IL or missing references)
17561 //IL_381ed: Unknown result type (might be due to invalid IL or missing references)
17562 //IL_37ff8: Unknown result type (might be due to invalid IL or missing references)
17563 //IL_37ffd: Unknown result type (might be due to invalid IL or missing references)
17564 //IL_38004: Unknown result type (might be due to invalid IL or missing references)
17565 //IL_38009: Unknown result type (might be due to invalid IL or missing references)
17566 //IL_38013: Unknown result type (might be due to invalid IL or missing references)
17567 //IL_38018: Unknown result type (might be due to invalid IL or missing references)
17568 //IL_3801d: Unknown result type (might be due to invalid IL or missing references)
17569 //IL_38023: Unknown result type (might be due to invalid IL or missing references)
17570 //IL_38029: Unknown result type (might be due to invalid IL or missing references)
17571 //IL_3802f: Unknown result type (might be due to invalid IL or missing references)
17572 //IL_38034: Unknown result type (might be due to invalid IL or missing references)
17573 //IL_380dd: Unknown result type (might be due to invalid IL or missing references)
17574 //IL_29fe3: Unknown result type (might be due to invalid IL or missing references)
17575 //IL_29fee: Unknown result type (might be due to invalid IL or missing references)
17576 //IL_463ae: Unknown result type (might be due to invalid IL or missing references)
17577 //IL_463b8: Unknown result type (might be due to invalid IL or missing references)
17578 //IL_463bd: Unknown result type (might be due to invalid IL or missing references)
17579 //IL_463c3: Unknown result type (might be due to invalid IL or missing references)
17580 //IL_463cd: Unknown result type (might be due to invalid IL or missing references)
17581 //IL_463d2: Unknown result type (might be due to invalid IL or missing references)
17582 //IL_46326: Unknown result type (might be due to invalid IL or missing references)
17583 //IL_4632c: Unknown result type (might be due to invalid IL or missing references)
17584 //IL_46331: Unknown result type (might be due to invalid IL or missing references)
17585 //IL_46336: Unknown result type (might be due to invalid IL or missing references)
17586 //IL_44450: Unknown result type (might be due to invalid IL or missing references)
17587 //IL_44456: Unknown result type (might be due to invalid IL or missing references)
17588 //IL_4445b: Unknown result type (might be due to invalid IL or missing references)
17589 //IL_44460: Unknown result type (might be due to invalid IL or missing references)
17590 //IL_445ac: Unknown result type (might be due to invalid IL or missing references)
17591 //IL_4352c: Unknown result type (might be due to invalid IL or missing references)
17592 //IL_43540: Unknown result type (might be due to invalid IL or missing references)
17593 //IL_430a1: Unknown result type (might be due to invalid IL or missing references)
17594 //IL_430af: Unknown result type (might be due to invalid IL or missing references)
17595 //IL_430b4: Unknown result type (might be due to invalid IL or missing references)
17596 //IL_430bb: Unknown result type (might be due to invalid IL or missing references)
17597 //IL_430c0: Unknown result type (might be due to invalid IL or missing references)
17598 //IL_430c6: Unknown result type (might be due to invalid IL or missing references)
17599 //IL_430cc: Unknown result type (might be due to invalid IL or missing references)
17600 //IL_430d7: Unknown result type (might be due to invalid IL or missing references)
17601 //IL_430dc: Unknown result type (might be due to invalid IL or missing references)
17602 //IL_430e1: Unknown result type (might be due to invalid IL or missing references)
17603 //IL_430ed: Unknown result type (might be due to invalid IL or missing references)
17604 //IL_430f8: Unknown result type (might be due to invalid IL or missing references)
17605 //IL_43103: Unknown result type (might be due to invalid IL or missing references)
17606 //IL_43115: Unknown result type (might be due to invalid IL or missing references)
17607 //IL_43146: Unknown result type (might be due to invalid IL or missing references)
17608 //IL_4315f: Unknown result type (might be due to invalid IL or missing references)
17609 //IL_42e17: Unknown result type (might be due to invalid IL or missing references)
17610 //IL_42e25: Unknown result type (might be due to invalid IL or missing references)
17611 //IL_42e2a: Unknown result type (might be due to invalid IL or missing references)
17612 //IL_42e31: Unknown result type (might be due to invalid IL or missing references)
17613 //IL_42e36: Unknown result type (might be due to invalid IL or missing references)
17614 //IL_42e3c: Unknown result type (might be due to invalid IL or missing references)
17615 //IL_42e42: Unknown result type (might be due to invalid IL or missing references)
17616 //IL_42e4d: Unknown result type (might be due to invalid IL or missing references)
17617 //IL_42e52: Unknown result type (might be due to invalid IL or missing references)
17618 //IL_42e57: Unknown result type (might be due to invalid IL or missing references)
17619 //IL_42e63: Unknown result type (might be due to invalid IL or missing references)
17620 //IL_42e6e: Unknown result type (might be due to invalid IL or missing references)
17621 //IL_42e79: Unknown result type (might be due to invalid IL or missing references)
17622 //IL_42e8b: Unknown result type (might be due to invalid IL or missing references)
17623 //IL_42ebc: Unknown result type (might be due to invalid IL or missing references)
17624 //IL_42ed5: Unknown result type (might be due to invalid IL or missing references)
17625 //IL_423a6: Unknown result type (might be due to invalid IL or missing references)
17626 //IL_423b0: Unknown result type (might be due to invalid IL or missing references)
17627 //IL_423b5: Unknown result type (might be due to invalid IL or missing references)
17628 //IL_40cd3: Unknown result type (might be due to invalid IL or missing references)
17629 //IL_40cdd: Unknown result type (might be due to invalid IL or missing references)
17630 //IL_40ce2: Unknown result type (might be due to invalid IL or missing references)
17631 //IL_3f346: Unknown result type (might be due to invalid IL or missing references)
17632 //IL_3f367: Unknown result type (might be due to invalid IL or missing references)
17633 //IL_3f36d: Unknown result type (might be due to invalid IL or missing references)
17634 //IL_3f36f: Unknown result type (might be due to invalid IL or missing references)
17635 //IL_3f374: Unknown result type (might be due to invalid IL or missing references)
17636 //IL_3f381: Unknown result type (might be due to invalid IL or missing references)
17637 //IL_3f38c: Unknown result type (might be due to invalid IL or missing references)
17638 //IL_3f396: Unknown result type (might be due to invalid IL or missing references)
17639 //IL_3f3a1: Unknown result type (might be due to invalid IL or missing references)
17640 //IL_3f3e8: Unknown result type (might be due to invalid IL or missing references)
17641 //IL_3ecfa: Unknown result type (might be due to invalid IL or missing references)
17642 //IL_3ecff: Unknown result type (might be due to invalid IL or missing references)
17643 //IL_3ed05: Unknown result type (might be due to invalid IL or missing references)
17644 //IL_3ed0a: Unknown result type (might be due to invalid IL or missing references)
17645 //IL_3d9a6: Unknown result type (might be due to invalid IL or missing references)
17646 //IL_3d9ab: Unknown result type (might be due to invalid IL or missing references)
17647 //IL_3d9b9: Unknown result type (might be due to invalid IL or missing references)
17648 //IL_3d9be: Unknown result type (might be due to invalid IL or missing references)
17649 //IL_3d9c3: Unknown result type (might be due to invalid IL or missing references)
17650 //IL_3d9c9: Unknown result type (might be due to invalid IL or missing references)
17651 //IL_3d9cf: Unknown result type (might be due to invalid IL or missing references)
17652 //IL_3d9d9: Unknown result type (might be due to invalid IL or missing references)
17653 //IL_3d9de: Unknown result type (might be due to invalid IL or missing references)
17654 //IL_3d9eb: Unknown result type (might be due to invalid IL or missing references)
17655 //IL_3d9f5: Unknown result type (might be due to invalid IL or missing references)
17656 //IL_3da02: Unknown result type (might be due to invalid IL or missing references)
17657 //IL_3da0c: Unknown result type (might be due to invalid IL or missing references)
17658 //IL_3da18: Unknown result type (might be due to invalid IL or missing references)
17659 //IL_3da23: Unknown result type (might be due to invalid IL or missing references)
17660 //IL_3d55e: Unknown result type (might be due to invalid IL or missing references)
17661 //IL_3d568: Unknown result type (might be due to invalid IL or missing references)
17662 //IL_3d56d: Unknown result type (might be due to invalid IL or missing references)
17663 //IL_3bfe8: Unknown result type (might be due to invalid IL or missing references)
17664 //IL_3c004: Unknown result type (might be due to invalid IL or missing references)
17665 //IL_3c009: Unknown result type (might be due to invalid IL or missing references)
17666 //IL_3c017: Unknown result type (might be due to invalid IL or missing references)
17667 //IL_3c01c: Unknown result type (might be due to invalid IL or missing references)
17668 //IL_3c022: Unknown result type (might be due to invalid IL or missing references)
17669 //IL_3c027: Unknown result type (might be due to invalid IL or missing references)
17670 //IL_3c02d: Unknown result type (might be due to invalid IL or missing references)
17671 //IL_3c033: Unknown result type (might be due to invalid IL or missing references)
17672 //IL_3c038: Unknown result type (might be due to invalid IL or missing references)
17673 //IL_3c03e: Unknown result type (might be due to invalid IL or missing references)
17674 //IL_3c049: Unknown result type (might be due to invalid IL or missing references)
17675 //IL_3bb84: Unknown result type (might be due to invalid IL or missing references)
17676 //IL_3bb8f: Unknown result type (might be due to invalid IL or missing references)
17677 //IL_3c6e3: Unknown result type (might be due to invalid IL or missing references)
17678 //IL_3ad9c: Unknown result type (might be due to invalid IL or missing references)
17679 //IL_3ad32: Unknown result type (might be due to invalid IL or missing references)
17680 //IL_3ad4a: Unknown result type (might be due to invalid IL or missing references)
17681 //IL_3ad4f: Unknown result type (might be due to invalid IL or missing references)
17682 //IL_3ad54: Unknown result type (might be due to invalid IL or missing references)
17683 //IL_3ad5a: Unknown result type (might be due to invalid IL or missing references)
17684 //IL_3ad5f: Unknown result type (might be due to invalid IL or missing references)
17685 //IL_3ad72: Unknown result type (might be due to invalid IL or missing references)
17686 //IL_3ad77: Unknown result type (might be due to invalid IL or missing references)
17687 //IL_3ad82: Unknown result type (might be due to invalid IL or missing references)
17688 //IL_3ad8c: Unknown result type (might be due to invalid IL or missing references)
17689 //IL_3ad91: Unknown result type (might be due to invalid IL or missing references)
17690 //IL_38bbc: Unknown result type (might be due to invalid IL or missing references)
17691 //IL_38b57: Unknown result type (might be due to invalid IL or missing references)
17692 //IL_38b5c: Unknown result type (might be due to invalid IL or missing references)
17693 //IL_38b68: Unknown result type (might be due to invalid IL or missing references)
17694 //IL_38b73: Unknown result type (might be due to invalid IL or missing references)
17695 //IL_38a77: Unknown result type (might be due to invalid IL or missing references)
17696 //IL_38990: Unknown result type (might be due to invalid IL or missing references)
17697 //IL_38995: Unknown result type (might be due to invalid IL or missing references)
17698 //IL_3899b: Unknown result type (might be due to invalid IL or missing references)
17699 //IL_389cb: Unknown result type (might be due to invalid IL or missing references)
17700 //IL_389d1: Unknown result type (might be due to invalid IL or missing references)
17701 //IL_389d3: Unknown result type (might be due to invalid IL or missing references)
17702 //IL_389d8: Unknown result type (might be due to invalid IL or missing references)
17703 //IL_389de: Unknown result type (might be due to invalid IL or missing references)
17704 //IL_389e9: Unknown result type (might be due to invalid IL or missing references)
17705 //IL_389ee: Unknown result type (might be due to invalid IL or missing references)
17706 //IL_389f5: Unknown result type (might be due to invalid IL or missing references)
17707 //IL_389fa: Unknown result type (might be due to invalid IL or missing references)
17708 //IL_38a05: Unknown result type (might be due to invalid IL or missing references)
17709 //IL_38a0a: Unknown result type (might be due to invalid IL or missing references)
17710 //IL_38a0f: Unknown result type (might be due to invalid IL or missing references)
17711 //IL_38a1b: Unknown result type (might be due to invalid IL or missing references)
17712 //IL_38a26: Unknown result type (might be due to invalid IL or missing references)
17713 //IL_38a31: Unknown result type (might be due to invalid IL or missing references)
17714 //IL_38a3c: Unknown result type (might be due to invalid IL or missing references)
17715 //IL_3893b: Unknown result type (might be due to invalid IL or missing references)
17716 //IL_38254: Unknown result type (might be due to invalid IL or missing references)
17717 //IL_38101: Unknown result type (might be due to invalid IL or missing references)
17718 //IL_38106: Unknown result type (might be due to invalid IL or missing references)
17719 //IL_3810b: Unknown result type (might be due to invalid IL or missing references)
17720 //IL_380ef: Unknown result type (might be due to invalid IL or missing references)
17721 //IL_36fac: Unknown result type (might be due to invalid IL or missing references)
17722 //IL_36fd0: Unknown result type (might be due to invalid IL or missing references)
17723 //IL_36fd6: Unknown result type (might be due to invalid IL or missing references)
17724 //IL_37018: Unknown result type (might be due to invalid IL or missing references)
17725 //IL_37022: Unknown result type (might be due to invalid IL or missing references)
17726 //IL_37027: Unknown result type (might be due to invalid IL or missing references)
17727 //IL_37049: Unknown result type (might be due to invalid IL or missing references)
17728 //IL_3705f: Unknown result type (might be due to invalid IL or missing references)
17729 //IL_37065: Unknown result type (might be due to invalid IL or missing references)
17730 //IL_3706a: Unknown result type (might be due to invalid IL or missing references)
17731 //IL_3706f: Unknown result type (might be due to invalid IL or missing references)
17732 //IL_3708c: Unknown result type (might be due to invalid IL or missing references)
17733 //IL_37096: Unknown result type (might be due to invalid IL or missing references)
17734 //IL_370a7: Unknown result type (might be due to invalid IL or missing references)
17735 //IL_370ad: Unknown result type (might be due to invalid IL or missing references)
17736 //IL_370b2: Unknown result type (might be due to invalid IL or missing references)
17737 //IL_370b7: Unknown result type (might be due to invalid IL or missing references)
17738 //IL_370bc: Unknown result type (might be due to invalid IL or missing references)
17739 //IL_370c1: Unknown result type (might be due to invalid IL or missing references)
17740 //IL_46400: Unknown result type (might be due to invalid IL or missing references)
17741 //IL_46416: Unknown result type (might be due to invalid IL or missing references)
17742 //IL_4541d: Unknown result type (might be due to invalid IL or missing references)
17743 //IL_45430: Unknown result type (might be due to invalid IL or missing references)
17744 //IL_44486: Unknown result type (might be due to invalid IL or missing references)
17745 //IL_44996: Unknown result type (might be due to invalid IL or missing references)
17746 //IL_43565: Unknown result type (might be due to invalid IL or missing references)
17747 //IL_43578: Unknown result type (might be due to invalid IL or missing references)
17748 //IL_42c33: Unknown result type (might be due to invalid IL or missing references)
17749 //IL_42d2a: Unknown result type (might be due to invalid IL or missing references)
17750 //IL_4246e: Unknown result type (might be due to invalid IL or missing references)
17751 //IL_42478: Unknown result type (might be due to invalid IL or missing references)
17752 //IL_4247d: Unknown result type (might be due to invalid IL or missing references)
17753 //IL_40d10: Unknown result type (might be due to invalid IL or missing references)
17754 //IL_40d21: Unknown result type (might be due to invalid IL or missing references)
17755 //IL_40d2b: Unknown result type (might be due to invalid IL or missing references)
17756 //IL_40d30: Unknown result type (might be due to invalid IL or missing references)
17757 //IL_40d36: Unknown result type (might be due to invalid IL or missing references)
17758 //IL_40d3b: Unknown result type (might be due to invalid IL or missing references)
17759 //IL_40d40: Unknown result type (might be due to invalid IL or missing references)
17760 //IL_40d55: Unknown result type (might be due to invalid IL or missing references)
17761 //IL_40cfa: Unknown result type (might be due to invalid IL or missing references)
17762 //IL_40cff: Unknown result type (might be due to invalid IL or missing references)
17763 //IL_3d7d4: Unknown result type (might be due to invalid IL or missing references)
17764 //IL_3d7db: Unknown result type (might be due to invalid IL or missing references)
17765 //IL_3d7e0: Unknown result type (might be due to invalid IL or missing references)
17766 //IL_3d7e5: Unknown result type (might be due to invalid IL or missing references)
17767 //IL_3d7eb: Unknown result type (might be due to invalid IL or missing references)
17768 //IL_3d7f1: Unknown result type (might be due to invalid IL or missing references)
17769 //IL_3df1b: Unknown result type (might be due to invalid IL or missing references)
17770 //IL_3df2c: Unknown result type (might be due to invalid IL or missing references)
17771 //IL_3df31: Unknown result type (might be due to invalid IL or missing references)
17772 //IL_3df37: Unknown result type (might be due to invalid IL or missing references)
17773 //IL_3df3c: Unknown result type (might be due to invalid IL or missing references)
17774 //IL_3df41: Unknown result type (might be due to invalid IL or missing references)
17775 //IL_3e29d: Unknown result type (might be due to invalid IL or missing references)
17776 //IL_3e2a2: Unknown result type (might be due to invalid IL or missing references)
17777 //IL_3e2b9: Unknown result type (might be due to invalid IL or missing references)
17778 //IL_3e2be: Unknown result type (might be due to invalid IL or missing references)
17779 //IL_3e2c4: Unknown result type (might be due to invalid IL or missing references)
17780 //IL_3e2c9: Unknown result type (might be due to invalid IL or missing references)
17781 //IL_3e2cf: Unknown result type (might be due to invalid IL or missing references)
17782 //IL_3e2e6: Unknown result type (might be due to invalid IL or missing references)
17783 //IL_3e2eb: Unknown result type (might be due to invalid IL or missing references)
17784 //IL_3e2f0: Unknown result type (might be due to invalid IL or missing references)
17785 //IL_3c715: Unknown result type (might be due to invalid IL or missing references)
17786 //IL_3c71a: Unknown result type (might be due to invalid IL or missing references)
17787 //IL_3c724: Unknown result type (might be due to invalid IL or missing references)
17788 //IL_3c729: Unknown result type (might be due to invalid IL or missing references)
17789 //IL_3c72f: Unknown result type (might be due to invalid IL or missing references)
17790 //IL_3c734: Unknown result type (might be due to invalid IL or missing references)
17791 //IL_3c739: Unknown result type (might be due to invalid IL or missing references)
17792 //IL_3c741: Unknown result type (might be due to invalid IL or missing references)
17793 //IL_3c746: Unknown result type (might be due to invalid IL or missing references)
17794 //IL_3c74c: Unknown result type (might be due to invalid IL or missing references)
17795 //IL_3c751: Unknown result type (might be due to invalid IL or missing references)
17796 //IL_3a1af: Unknown result type (might be due to invalid IL or missing references)
17797 //IL_3a123: Unknown result type (might be due to invalid IL or missing references)
17798 //IL_3a135: Unknown result type (might be due to invalid IL or missing references)
17799 //IL_3a13a: Unknown result type (might be due to invalid IL or missing references)
17800 //IL_3a13f: Unknown result type (might be due to invalid IL or missing references)
17801 //IL_3a145: Unknown result type (might be due to invalid IL or missing references)
17802 //IL_3a14a: Unknown result type (might be due to invalid IL or missing references)
17803 //IL_3a0fa: Unknown result type (might be due to invalid IL or missing references)
17804 //IL_3a106: Unknown result type (might be due to invalid IL or missing references)
17805 //IL_3a10b: Unknown result type (might be due to invalid IL or missing references)
17806 //IL_3a094: Unknown result type (might be due to invalid IL or missing references)
17807 //IL_3a099: Unknown result type (might be due to invalid IL or missing references)
17808 //IL_3a09f: Unknown result type (might be due to invalid IL or missing references)
17809 //IL_38111: Unknown result type (might be due to invalid IL or missing references)
17810 //IL_3811d: Unknown result type (might be due to invalid IL or missing references)
17811 //IL_38122: Unknown result type (might be due to invalid IL or missing references)
17812 //IL_3812e: Unknown result type (might be due to invalid IL or missing references)
17813 //IL_38139: Unknown result type (might be due to invalid IL or missing references)
17814 //IL_38144: Unknown result type (might be due to invalid IL or missing references)
17815 //IL_3814f: Unknown result type (might be due to invalid IL or missing references)
17816 //IL_370d7: Unknown result type (might be due to invalid IL or missing references)
17817 //IL_370fb: Unknown result type (might be due to invalid IL or missing references)
17818 //IL_37101: Unknown result type (might be due to invalid IL or missing references)
17819 //IL_37143: Unknown result type (might be due to invalid IL or missing references)
17820 //IL_3714d: Unknown result type (might be due to invalid IL or missing references)
17821 //IL_37152: Unknown result type (might be due to invalid IL or missing references)
17822 //IL_37174: Unknown result type (might be due to invalid IL or missing references)
17823 //IL_3718a: Unknown result type (might be due to invalid IL or missing references)
17824 //IL_37190: Unknown result type (might be due to invalid IL or missing references)
17825 //IL_37195: Unknown result type (might be due to invalid IL or missing references)
17826 //IL_3719a: Unknown result type (might be due to invalid IL or missing references)
17827 //IL_371b7: Unknown result type (might be due to invalid IL or missing references)
17828 //IL_371c1: Unknown result type (might be due to invalid IL or missing references)
17829 //IL_371d2: Unknown result type (might be due to invalid IL or missing references)
17830 //IL_371d8: Unknown result type (might be due to invalid IL or missing references)
17831 //IL_371dd: Unknown result type (might be due to invalid IL or missing references)
17832 //IL_371e2: Unknown result type (might be due to invalid IL or missing references)
17833 //IL_371e7: Unknown result type (might be due to invalid IL or missing references)
17834 //IL_371ec: Unknown result type (might be due to invalid IL or missing references)
17835 //IL_37365: Unknown result type (might be due to invalid IL or missing references)
17836 //IL_48a26: Unknown result type (might be due to invalid IL or missing references)
17837 //IL_48a39: Unknown result type (might be due to invalid IL or missing references)
17838 //IL_48047: Unknown result type (might be due to invalid IL or missing references)
17839 //IL_4804d: Unknown result type (might be due to invalid IL or missing references)
17840 //IL_48052: Unknown result type (might be due to invalid IL or missing references)
17841 //IL_48057: Unknown result type (might be due to invalid IL or missing references)
17842 //IL_46430: Unknown result type (might be due to invalid IL or missing references)
17843 //IL_46446: Unknown result type (might be due to invalid IL or missing references)
17844 //IL_45749: Unknown result type (might be due to invalid IL or missing references)
17845 //IL_444da: Unknown result type (might be due to invalid IL or missing references)
17846 //IL_444e5: Unknown result type (might be due to invalid IL or missing references)
17847 //IL_444ea: Unknown result type (might be due to invalid IL or missing references)
17848 //IL_444f2: Unknown result type (might be due to invalid IL or missing references)
17849 //IL_444f7: Unknown result type (might be due to invalid IL or missing references)
17850 //IL_444fd: Unknown result type (might be due to invalid IL or missing references)
17851 //IL_44502: Unknown result type (might be due to invalid IL or missing references)
17852 //IL_44531: Unknown result type (might be due to invalid IL or missing references)
17853 //IL_44536: Unknown result type (might be due to invalid IL or missing references)
17854 //IL_4453c: Unknown result type (might be due to invalid IL or missing references)
17855 //IL_44541: Unknown result type (might be due to invalid IL or missing references)
17856 //IL_44498: Unknown result type (might be due to invalid IL or missing references)
17857 //IL_45045: Unknown result type (might be due to invalid IL or missing references)
17858 //IL_4504b: Unknown result type (might be due to invalid IL or missing references)
17859 //IL_45050: Unknown result type (might be due to invalid IL or missing references)
17860 //IL_45055: Unknown result type (might be due to invalid IL or missing references)
17861 //IL_44603: Unknown result type (might be due to invalid IL or missing references)
17862 //IL_44609: Unknown result type (might be due to invalid IL or missing references)
17863 //IL_4460e: Unknown result type (might be due to invalid IL or missing references)
17864 //IL_44613: Unknown result type (might be due to invalid IL or missing references)
17865 //IL_43ffc: Unknown result type (might be due to invalid IL or missing references)
17866 //IL_43fef: Unknown result type (might be due to invalid IL or missing references)
17867 //IL_43cd8: Unknown result type (might be due to invalid IL or missing references)
17868 //IL_43cdd: Unknown result type (might be due to invalid IL or missing references)
17869 //IL_43cee: Unknown result type (might be due to invalid IL or missing references)
17870 //IL_43cfa: Unknown result type (might be due to invalid IL or missing references)
17871 //IL_43cff: Unknown result type (might be due to invalid IL or missing references)
17872 //IL_43d07: Unknown result type (might be due to invalid IL or missing references)
17873 //IL_43d18: Unknown result type (might be due to invalid IL or missing references)
17874 //IL_43d1d: Unknown result type (might be due to invalid IL or missing references)
17875 //IL_43d23: Unknown result type (might be due to invalid IL or missing references)
17876 //IL_43d2e: Unknown result type (might be due to invalid IL or missing references)
17877 //IL_43d33: Unknown result type (might be due to invalid IL or missing references)
17878 //IL_43c4a: Unknown result type (might be due to invalid IL or missing references)
17879 //IL_43c50: Unknown result type (might be due to invalid IL or missing references)
17880 //IL_43c55: Unknown result type (might be due to invalid IL or missing references)
17881 //IL_43c5a: Unknown result type (might be due to invalid IL or missing references)
17882 //IL_43c94: Unknown result type (might be due to invalid IL or missing references)
17883 //IL_43c9f: Unknown result type (might be due to invalid IL or missing references)
17884 //IL_43ca4: Unknown result type (might be due to invalid IL or missing references)
17885 //IL_43b79: Unknown result type (might be due to invalid IL or missing references)
17886 //IL_43b8c: Unknown result type (might be due to invalid IL or missing references)
17887 //IL_42536: Unknown result type (might be due to invalid IL or missing references)
17888 //IL_42540: Unknown result type (might be due to invalid IL or missing references)
17889 //IL_42545: Unknown result type (might be due to invalid IL or missing references)
17890 //IL_40fa0: Unknown result type (might be due to invalid IL or missing references)
17891 //IL_40faa: Unknown result type (might be due to invalid IL or missing references)
17892 //IL_40faf: Unknown result type (might be due to invalid IL or missing references)
17893 //IL_3fa53: Unknown result type (might be due to invalid IL or missing references)
17894 //IL_3fa58: Unknown result type (might be due to invalid IL or missing references)
17895 //IL_3fa66: Unknown result type (might be due to invalid IL or missing references)
17896 //IL_3fa6b: Unknown result type (might be due to invalid IL or missing references)
17897 //IL_3fa70: Unknown result type (might be due to invalid IL or missing references)
17898 //IL_3fa76: Unknown result type (might be due to invalid IL or missing references)
17899 //IL_3fa7c: Unknown result type (might be due to invalid IL or missing references)
17900 //IL_3fa86: Unknown result type (might be due to invalid IL or missing references)
17901 //IL_3fa8b: Unknown result type (might be due to invalid IL or missing references)
17902 //IL_3fa98: Unknown result type (might be due to invalid IL or missing references)
17903 //IL_3faa2: Unknown result type (might be due to invalid IL or missing references)
17904 //IL_3faaf: Unknown result type (might be due to invalid IL or missing references)
17905 //IL_3fab9: Unknown result type (might be due to invalid IL or missing references)
17906 //IL_3fac5: Unknown result type (might be due to invalid IL or missing references)
17907 //IL_3fad0: Unknown result type (might be due to invalid IL or missing references)
17908 //IL_3f6bc: Unknown result type (might be due to invalid IL or missing references)
17909 //IL_3f6c1: Unknown result type (might be due to invalid IL or missing references)
17910 //IL_3f165: Unknown result type (might be due to invalid IL or missing references)
17911 //IL_3f17c: Unknown result type (might be due to invalid IL or missing references)
17912 //IL_3f181: Unknown result type (might be due to invalid IL or missing references)
17913 //IL_3f187: Unknown result type (might be due to invalid IL or missing references)
17914 //IL_3f191: Unknown result type (might be due to invalid IL or missing references)
17915 //IL_3f196: Unknown result type (might be due to invalid IL or missing references)
17916 //IL_3f19b: Unknown result type (might be due to invalid IL or missing references)
17917 //IL_3f1a1: Unknown result type (might be due to invalid IL or missing references)
17918 //IL_3f1a7: Unknown result type (might be due to invalid IL or missing references)
17919 //IL_3f1b1: Unknown result type (might be due to invalid IL or missing references)
17920 //IL_3f1b6: Unknown result type (might be due to invalid IL or missing references)
17921 //IL_3f1ea: Unknown result type (might be due to invalid IL or missing references)
17922 //IL_3f1f0: Unknown result type (might be due to invalid IL or missing references)
17923 //IL_3f20e: Unknown result type (might be due to invalid IL or missing references)
17924 //IL_3f214: Unknown result type (might be due to invalid IL or missing references)
17925 //IL_3f21a: Unknown result type (might be due to invalid IL or missing references)
17926 //IL_3f21f: Unknown result type (might be due to invalid IL or missing references)
17927 //IL_3f229: Unknown result type (might be due to invalid IL or missing references)
17928 //IL_3f241: Unknown result type (might be due to invalid IL or missing references)
17929 //IL_3f24b: Unknown result type (might be due to invalid IL or missing references)
17930 //IL_3f250: Unknown result type (might be due to invalid IL or missing references)
17931 //IL_3d800: Unknown result type (might be due to invalid IL or missing references)
17932 //IL_3d806: Unknown result type (might be due to invalid IL or missing references)
17933 //IL_3d819: Unknown result type (might be due to invalid IL or missing references)
17934 //IL_3d81e: Unknown result type (might be due to invalid IL or missing references)
17935 //IL_3d839: Unknown result type (might be due to invalid IL or missing references)
17936 //IL_3d843: Unknown result type (might be due to invalid IL or missing references)
17937 //IL_3d848: Unknown result type (might be due to invalid IL or missing references)
17938 //IL_3d721: Unknown result type (might be due to invalid IL or missing references)
17939 //IL_3d727: Unknown result type (might be due to invalid IL or missing references)
17940 //IL_3d72d: Unknown result type (might be due to invalid IL or missing references)
17941 //IL_3d733: Unknown result type (might be due to invalid IL or missing references)
17942 //IL_3d750: Unknown result type (might be due to invalid IL or missing references)
17943 //IL_3d756: Unknown result type (might be due to invalid IL or missing references)
17944 //IL_3d75b: Unknown result type (might be due to invalid IL or missing references)
17945 //IL_3d760: Unknown result type (might be due to invalid IL or missing references)
17946 //IL_3d766: Unknown result type (might be due to invalid IL or missing references)
17947 //IL_3d76c: Unknown result type (might be due to invalid IL or missing references)
17948 //IL_3e347: Unknown result type (might be due to invalid IL or missing references)
17949 //IL_3e34e: Unknown result type (might be due to invalid IL or missing references)
17950 //IL_3e353: Unknown result type (might be due to invalid IL or missing references)
17951 //IL_3e358: Unknown result type (might be due to invalid IL or missing references)
17952 //IL_3e35e: Unknown result type (might be due to invalid IL or missing references)
17953 //IL_3e364: Unknown result type (might be due to invalid IL or missing references)
17954 //IL_3c06b: Unknown result type (might be due to invalid IL or missing references)
17955 //IL_3c076: Unknown result type (might be due to invalid IL or missing references)
17956 //IL_3bc65: Unknown result type (might be due to invalid IL or missing references)
17957 //IL_3c799: Unknown result type (might be due to invalid IL or missing references)
17958 //IL_3c79e: Unknown result type (might be due to invalid IL or missing references)
17959 //IL_3c7a4: Unknown result type (might be due to invalid IL or missing references)
17960 //IL_3c7a9: Unknown result type (might be due to invalid IL or missing references)
17961 //IL_3acbc: Unknown result type (might be due to invalid IL or missing references)
17962 //IL_3ac57: Unknown result type (might be due to invalid IL or missing references)
17963 //IL_3ac5c: Unknown result type (might be due to invalid IL or missing references)
17964 //IL_3ac68: Unknown result type (might be due to invalid IL or missing references)
17965 //IL_3ac73: Unknown result type (might be due to invalid IL or missing references)
17966 //IL_3a17e: Unknown result type (might be due to invalid IL or missing references)
17967 //IL_3a183: Unknown result type (might be due to invalid IL or missing references)
17968 //IL_3a18e: Unknown result type (might be due to invalid IL or missing references)
17969 //IL_3a198: Unknown result type (might be due to invalid IL or missing references)
17970 //IL_3a19d: Unknown result type (might be due to invalid IL or missing references)
17971 //IL_37202: Unknown result type (might be due to invalid IL or missing references)
17972 //IL_37226: Unknown result type (might be due to invalid IL or missing references)
17973 //IL_3722c: Unknown result type (might be due to invalid IL or missing references)
17974 //IL_3725c: Unknown result type (might be due to invalid IL or missing references)
17975 //IL_37266: Unknown result type (might be due to invalid IL or missing references)
17976 //IL_3726b: Unknown result type (might be due to invalid IL or missing references)
17977 //IL_3728d: Unknown result type (might be due to invalid IL or missing references)
17978 //IL_372a3: Unknown result type (might be due to invalid IL or missing references)
17979 //IL_372a9: Unknown result type (might be due to invalid IL or missing references)
17980 //IL_372ae: Unknown result type (might be due to invalid IL or missing references)
17981 //IL_372b3: Unknown result type (might be due to invalid IL or missing references)
17982 //IL_372d0: Unknown result type (might be due to invalid IL or missing references)
17983 //IL_372da: Unknown result type (might be due to invalid IL or missing references)
17984 //IL_372eb: Unknown result type (might be due to invalid IL or missing references)
17985 //IL_372f1: Unknown result type (might be due to invalid IL or missing references)
17986 //IL_372f6: Unknown result type (might be due to invalid IL or missing references)
17987 //IL_372fb: Unknown result type (might be due to invalid IL or missing references)
17988 //IL_37300: Unknown result type (might be due to invalid IL or missing references)
17989 //IL_37305: Unknown result type (might be due to invalid IL or missing references)
17990 //IL_49de5: Unknown result type (might be due to invalid IL or missing references)
17991 //IL_49df5: Unknown result type (might be due to invalid IL or missing references)
17992 //IL_49dfa: Unknown result type (might be due to invalid IL or missing references)
17993 //IL_48d37: Unknown result type (might be due to invalid IL or missing references)
17994 //IL_48d3d: Unknown result type (might be due to invalid IL or missing references)
17995 //IL_48d42: Unknown result type (might be due to invalid IL or missing references)
17996 //IL_48d47: Unknown result type (might be due to invalid IL or missing references)
17997 //IL_48d95: Unknown result type (might be due to invalid IL or missing references)
17998 //IL_48da1: Unknown result type (might be due to invalid IL or missing references)
17999 //IL_48da6: Unknown result type (might be due to invalid IL or missing references)
18000 //IL_48dae: Unknown result type (might be due to invalid IL or missing references)
18001 //IL_48dbc: Unknown result type (might be due to invalid IL or missing references)
18002 //IL_48dc1: Unknown result type (might be due to invalid IL or missing references)
18003 //IL_48dc7: Unknown result type (might be due to invalid IL or missing references)
18004 //IL_48dd3: Unknown result type (might be due to invalid IL or missing references)
18005 //IL_48dd8: Unknown result type (might be due to invalid IL or missing references)
18006 //IL_48dde: Unknown result type (might be due to invalid IL or missing references)
18007 //IL_48df1: Unknown result type (might be due to invalid IL or missing references)
18008 //IL_48a61: Unknown result type (might be due to invalid IL or missing references)
18009 //IL_48a67: Unknown result type (might be due to invalid IL or missing references)
18010 //IL_48a6c: Unknown result type (might be due to invalid IL or missing references)
18011 //IL_48a71: Unknown result type (might be due to invalid IL or missing references)
18012 //IL_48ab1: Unknown result type (might be due to invalid IL or missing references)
18013 //IL_48ab6: Unknown result type (might be due to invalid IL or missing references)
18014 //IL_48ace: Unknown result type (might be due to invalid IL or missing references)
18015 //IL_48add: Unknown result type (might be due to invalid IL or missing references)
18016 //IL_48ae4: Unknown result type (might be due to invalid IL or missing references)
18017 //IL_48ae9: Unknown result type (might be due to invalid IL or missing references)
18018 //IL_48aee: Unknown result type (might be due to invalid IL or missing references)
18019 //IL_459f2: Unknown result type (might be due to invalid IL or missing references)
18020 //IL_45a05: Unknown result type (might be due to invalid IL or missing references)
18021 //IL_457c7: Unknown result type (might be due to invalid IL or missing references)
18022 //IL_457cc: Unknown result type (might be due to invalid IL or missing references)
18023 //IL_457eb: Unknown result type (might be due to invalid IL or missing references)
18024 //IL_457f2: Unknown result type (might be due to invalid IL or missing references)
18025 //IL_457f7: Unknown result type (might be due to invalid IL or missing references)
18026 //IL_457fc: Unknown result type (might be due to invalid IL or missing references)
18027 //IL_44a1b: Unknown result type (might be due to invalid IL or missing references)
18028 //IL_44a21: Unknown result type (might be due to invalid IL or missing references)
18029 //IL_44a26: Unknown result type (might be due to invalid IL or missing references)
18030 //IL_44a2b: Unknown result type (might be due to invalid IL or missing references)
18031 //IL_44a31: Unknown result type (might be due to invalid IL or missing references)
18032 //IL_44a3d: Unknown result type (might be due to invalid IL or missing references)
18033 //IL_44a42: Unknown result type (might be due to invalid IL or missing references)
18034 //IL_44a78: Unknown result type (might be due to invalid IL or missing references)
18035 //IL_44a7e: Unknown result type (might be due to invalid IL or missing references)
18036 //IL_44ab6: Unknown result type (might be due to invalid IL or missing references)
18037 //IL_44abc: Unknown result type (might be due to invalid IL or missing references)
18038 //IL_44ac1: Unknown result type (might be due to invalid IL or missing references)
18039 //IL_44ac6: Unknown result type (might be due to invalid IL or missing references)
18040 //IL_44838: Unknown result type (might be due to invalid IL or missing references)
18041 //IL_4483e: Unknown result type (might be due to invalid IL or missing references)
18042 //IL_44843: Unknown result type (might be due to invalid IL or missing references)
18043 //IL_44848: Unknown result type (might be due to invalid IL or missing references)
18044 //IL_4484e: Unknown result type (might be due to invalid IL or missing references)
18045 //IL_4486e: Unknown result type (might be due to invalid IL or missing references)
18046 //IL_44874: Unknown result type (might be due to invalid IL or missing references)
18047 //IL_448b7: Unknown result type (might be due to invalid IL or missing references)
18048 //IL_448c1: Unknown result type (might be due to invalid IL or missing references)
18049 //IL_448c6: Unknown result type (might be due to invalid IL or missing references)
18050 //IL_448e9: Unknown result type (might be due to invalid IL or missing references)
18051 //IL_448ef: Unknown result type (might be due to invalid IL or missing references)
18052 //IL_448f9: Unknown result type (might be due to invalid IL or missing references)
18053 //IL_448fe: Unknown result type (might be due to invalid IL or missing references)
18054 //IL_44903: Unknown result type (might be due to invalid IL or missing references)
18055 //IL_4491c: Unknown result type (might be due to invalid IL or missing references)
18056 //IL_44922: Unknown result type (might be due to invalid IL or missing references)
18057 //IL_44927: Unknown result type (might be due to invalid IL or missing references)
18058 //IL_4492c: Unknown result type (might be due to invalid IL or missing references)
18059 //IL_44014: Unknown result type (might be due to invalid IL or missing references)
18060 //IL_44019: Unknown result type (might be due to invalid IL or missing references)
18061 //IL_44035: Unknown result type (might be due to invalid IL or missing references)
18062 //IL_4403a: Unknown result type (might be due to invalid IL or missing references)
18063 //IL_43d7c: Unknown result type (might be due to invalid IL or missing references)
18064 //IL_43d8f: Unknown result type (might be due to invalid IL or missing references)
18065 //IL_42f3e: Unknown result type (might be due to invalid IL or missing references)
18066 //IL_42f4c: Unknown result type (might be due to invalid IL or missing references)
18067 //IL_42f51: Unknown result type (might be due to invalid IL or missing references)
18068 //IL_42f58: Unknown result type (might be due to invalid IL or missing references)
18069 //IL_42f5d: Unknown result type (might be due to invalid IL or missing references)
18070 //IL_42f63: Unknown result type (might be due to invalid IL or missing references)
18071 //IL_42f69: Unknown result type (might be due to invalid IL or missing references)
18072 //IL_42f74: Unknown result type (might be due to invalid IL or missing references)
18073 //IL_42f79: Unknown result type (might be due to invalid IL or missing references)
18074 //IL_42f7e: Unknown result type (might be due to invalid IL or missing references)
18075 //IL_42f85: Unknown result type (might be due to invalid IL or missing references)
18076 //IL_42f8a: Unknown result type (might be due to invalid IL or missing references)
18077 //IL_42fa6: Unknown result type (might be due to invalid IL or missing references)
18078 //IL_42fab: Unknown result type (might be due to invalid IL or missing references)
18079 //IL_42fb0: Unknown result type (might be due to invalid IL or missing references)
18080 //IL_42fba: Unknown result type (might be due to invalid IL or missing references)
18081 //IL_42fbf: Unknown result type (might be due to invalid IL or missing references)
18082 //IL_42fc4: Unknown result type (might be due to invalid IL or missing references)
18083 //IL_42fd0: Unknown result type (might be due to invalid IL or missing references)
18084 //IL_42fdb: Unknown result type (might be due to invalid IL or missing references)
18085 //IL_42fe6: Unknown result type (might be due to invalid IL or missing references)
18086 //IL_4300d: Unknown result type (might be due to invalid IL or missing references)
18087 //IL_43018: Unknown result type (might be due to invalid IL or missing references)
18088 //IL_416cf: Unknown result type (might be due to invalid IL or missing references)
18089 //IL_416d9: Unknown result type (might be due to invalid IL or missing references)
18090 //IL_416de: Unknown result type (might be due to invalid IL or missing references)
18091 //IL_40fca: Unknown result type (might be due to invalid IL or missing references)
18092 //IL_40fcf: Unknown result type (might be due to invalid IL or missing references)
18093 //IL_3f6e2: Unknown result type (might be due to invalid IL or missing references)
18094 //IL_3f6e7: Unknown result type (might be due to invalid IL or missing references)
18095 //IL_3f6ed: Unknown result type (might be due to invalid IL or missing references)
18096 //IL_3f6f2: Unknown result type (might be due to invalid IL or missing references)
18097 //IL_3f6f8: Unknown result type (might be due to invalid IL or missing references)
18098 //IL_3f6fe: Unknown result type (might be due to invalid IL or missing references)
18099 //IL_3f54d: Unknown result type (might be due to invalid IL or missing references)
18100 //IL_3f55f: Unknown result type (might be due to invalid IL or missing references)
18101 //IL_3d77b: Unknown result type (might be due to invalid IL or missing references)
18102 //IL_3d781: Unknown result type (might be due to invalid IL or missing references)
18103 //IL_3d794: Unknown result type (might be due to invalid IL or missing references)
18104 //IL_3d799: Unknown result type (might be due to invalid IL or missing references)
18105 //IL_3d7b4: Unknown result type (might be due to invalid IL or missing references)
18106 //IL_3d7be: Unknown result type (might be due to invalid IL or missing references)
18107 //IL_3d7c3: Unknown result type (might be due to invalid IL or missing references)
18108 //IL_3d5aa: Unknown result type (might be due to invalid IL or missing references)
18109 //IL_3d5d2: Unknown result type (might be due to invalid IL or missing references)
18110 //IL_3d5d8: Unknown result type (might be due to invalid IL or missing references)
18111 //IL_3d5dd: Unknown result type (might be due to invalid IL or missing references)
18112 //IL_3d5e7: Unknown result type (might be due to invalid IL or missing references)
18113 //IL_3d5ec: Unknown result type (might be due to invalid IL or missing references)
18114 //IL_3d5f1: Unknown result type (might be due to invalid IL or missing references)
18115 //IL_3d5f6: Unknown result type (might be due to invalid IL or missing references)
18116 //IL_3d5fb: Unknown result type (might be due to invalid IL or missing references)
18117 //IL_3d601: Unknown result type (might be due to invalid IL or missing references)
18118 //IL_3dcf8: Unknown result type (might be due to invalid IL or missing references)
18119 //IL_3dd02: Unknown result type (might be due to invalid IL or missing references)
18120 //IL_3dd07: Unknown result type (might be due to invalid IL or missing references)
18121 //IL_3dfb9: Unknown result type (might be due to invalid IL or missing references)
18122 //IL_3e373: Unknown result type (might be due to invalid IL or missing references)
18123 //IL_3e379: Unknown result type (might be due to invalid IL or missing references)
18124 //IL_3e38c: Unknown result type (might be due to invalid IL or missing references)
18125 //IL_3e391: Unknown result type (might be due to invalid IL or missing references)
18126 //IL_3e3ac: Unknown result type (might be due to invalid IL or missing references)
18127 //IL_3e3b6: Unknown result type (might be due to invalid IL or missing references)
18128 //IL_3e3bb: Unknown result type (might be due to invalid IL or missing references)
18129 //IL_3c0ed: Unknown result type (might be due to invalid IL or missing references)
18130 //IL_3c0fb: Unknown result type (might be due to invalid IL or missing references)
18131 //IL_3c101: Unknown result type (might be due to invalid IL or missing references)
18132 //IL_3c103: Unknown result type (might be due to invalid IL or missing references)
18133 //IL_3c10d: Unknown result type (might be due to invalid IL or missing references)
18134 //IL_3c112: Unknown result type (might be due to invalid IL or missing references)
18135 //IL_3c11e: Unknown result type (might be due to invalid IL or missing references)
18136 //IL_3c129: Unknown result type (might be due to invalid IL or missing references)
18137 //IL_3c134: Unknown result type (might be due to invalid IL or missing references)
18138 //IL_3c13f: Unknown result type (might be due to invalid IL or missing references)
18139 //IL_3bda5: Unknown result type (might be due to invalid IL or missing references)
18140 //IL_3bdaa: Unknown result type (might be due to invalid IL or missing references)
18141 //IL_3bdb0: Unknown result type (might be due to invalid IL or missing references)
18142 //IL_3bdb6: Unknown result type (might be due to invalid IL or missing references)
18143 //IL_3c806: Unknown result type (might be due to invalid IL or missing references)
18144 //IL_3c80b: Unknown result type (might be due to invalid IL or missing references)
18145 //IL_3c811: Unknown result type (might be due to invalid IL or missing references)
18146 //IL_3c816: Unknown result type (might be due to invalid IL or missing references)
18147 //IL_3a443: Unknown result type (might be due to invalid IL or missing references)
18148 //IL_3a455: Unknown result type (might be due to invalid IL or missing references)
18149 //IL_3a45a: Unknown result type (might be due to invalid IL or missing references)
18150 //IL_3a45f: Unknown result type (might be due to invalid IL or missing references)
18151 //IL_3a465: Unknown result type (might be due to invalid IL or missing references)
18152 //IL_3a46a: Unknown result type (might be due to invalid IL or missing references)
18153 //IL_3a471: Unknown result type (might be due to invalid IL or missing references)
18154 //IL_3a41a: Unknown result type (might be due to invalid IL or missing references)
18155 //IL_3a426: Unknown result type (might be due to invalid IL or missing references)
18156 //IL_3a42b: Unknown result type (might be due to invalid IL or missing references)
18157 //IL_3a6a3: Unknown result type (might be due to invalid IL or missing references)
18158 //IL_4c053: Unknown result type (might be due to invalid IL or missing references)
18159 //IL_4c059: Unknown result type (might be due to invalid IL or missing references)
18160 //IL_4c05e: Unknown result type (might be due to invalid IL or missing references)
18161 //IL_4c06d: Unknown result type (might be due to invalid IL or missing references)
18162 //IL_4c072: Unknown result type (might be due to invalid IL or missing references)
18163 //IL_4c077: Unknown result type (might be due to invalid IL or missing references)
18164 //IL_4bd4e: Unknown result type (might be due to invalid IL or missing references)
18165 //IL_4bd58: Unknown result type (might be due to invalid IL or missing references)
18166 //IL_4bd5d: Unknown result type (might be due to invalid IL or missing references)
18167 //IL_4bd38: Unknown result type (might be due to invalid IL or missing references)
18168 //IL_4bd42: Unknown result type (might be due to invalid IL or missing references)
18169 //IL_4bd47: Unknown result type (might be due to invalid IL or missing references)
18170 //IL_48e42: Unknown result type (might be due to invalid IL or missing references)
18171 //IL_48e48: Unknown result type (might be due to invalid IL or missing references)
18172 //IL_48e4d: Unknown result type (might be due to invalid IL or missing references)
18173 //IL_48e52: Unknown result type (might be due to invalid IL or missing references)
18174 //IL_48e86: Unknown result type (might be due to invalid IL or missing references)
18175 //IL_48e92: Unknown result type (might be due to invalid IL or missing references)
18176 //IL_48e97: Unknown result type (might be due to invalid IL or missing references)
18177 //IL_48e9f: Unknown result type (might be due to invalid IL or missing references)
18178 //IL_48ead: Unknown result type (might be due to invalid IL or missing references)
18179 //IL_48eb2: Unknown result type (might be due to invalid IL or missing references)
18180 //IL_48eb8: Unknown result type (might be due to invalid IL or missing references)
18181 //IL_48ec4: Unknown result type (might be due to invalid IL or missing references)
18182 //IL_48ec9: Unknown result type (might be due to invalid IL or missing references)
18183 //IL_48c10: Unknown result type (might be due to invalid IL or missing references)
18184 //IL_48c15: Unknown result type (might be due to invalid IL or missing references)
18185 //IL_48c2d: Unknown result type (might be due to invalid IL or missing references)
18186 //IL_48c3c: Unknown result type (might be due to invalid IL or missing references)
18187 //IL_48c43: Unknown result type (might be due to invalid IL or missing references)
18188 //IL_48c48: Unknown result type (might be due to invalid IL or missing references)
18189 //IL_48c4d: Unknown result type (might be due to invalid IL or missing references)
18190 //IL_48b0a: Unknown result type (might be due to invalid IL or missing references)
18191 //IL_48b11: Unknown result type (might be due to invalid IL or missing references)
18192 //IL_4809d: Unknown result type (might be due to invalid IL or missing references)
18193 //IL_480a3: Unknown result type (might be due to invalid IL or missing references)
18194 //IL_480a8: Unknown result type (might be due to invalid IL or missing references)
18195 //IL_480ad: Unknown result type (might be due to invalid IL or missing references)
18196 //IL_45a14: Unknown result type (might be due to invalid IL or missing references)
18197 //IL_458f5: Unknown result type (might be due to invalid IL or missing references)
18198 //IL_4590b: Unknown result type (might be due to invalid IL or missing references)
18199 //IL_4583a: Unknown result type (might be due to invalid IL or missing references)
18200 //IL_45840: Unknown result type (might be due to invalid IL or missing references)
18201 //IL_45845: Unknown result type (might be due to invalid IL or missing references)
18202 //IL_4584a: Unknown result type (might be due to invalid IL or missing references)
18203 //IL_4585b: Unknown result type (might be due to invalid IL or missing references)
18204 //IL_45866: Unknown result type (might be due to invalid IL or missing references)
18205 //IL_4586b: Unknown result type (might be due to invalid IL or missing references)
18206 //IL_45873: Unknown result type (might be due to invalid IL or missing references)
18207 //IL_4587d: Unknown result type (might be due to invalid IL or missing references)
18208 //IL_45882: Unknown result type (might be due to invalid IL or missing references)
18209 //IL_45888: Unknown result type (might be due to invalid IL or missing references)
18210 //IL_45892: Unknown result type (might be due to invalid IL or missing references)
18211 //IL_45897: Unknown result type (might be due to invalid IL or missing references)
18212 //IL_44f62: Unknown result type (might be due to invalid IL or missing references)
18213 //IL_44f78: Unknown result type (might be due to invalid IL or missing references)
18214 //IL_44e60: Unknown result type (might be due to invalid IL or missing references)
18215 //IL_44e6b: Unknown result type (might be due to invalid IL or missing references)
18216 //IL_44e70: Unknown result type (might be due to invalid IL or missing references)
18217 //IL_44c35: Unknown result type (might be due to invalid IL or missing references)
18218 //IL_44c40: Unknown result type (might be due to invalid IL or missing references)
18219 //IL_45067: Unknown result type (might be due to invalid IL or missing references)
18220 //IL_45073: Unknown result type (might be due to invalid IL or missing references)
18221 //IL_45078: Unknown result type (might be due to invalid IL or missing references)
18222 //IL_450ae: Unknown result type (might be due to invalid IL or missing references)
18223 //IL_450b4: Unknown result type (might be due to invalid IL or missing references)
18224 //IL_45108: Unknown result type (might be due to invalid IL or missing references)
18225 //IL_4510e: Unknown result type (might be due to invalid IL or missing references)
18226 //IL_45113: Unknown result type (might be due to invalid IL or missing references)
18227 //IL_45118: Unknown result type (might be due to invalid IL or missing references)
18228 //IL_44625: Unknown result type (might be due to invalid IL or missing references)
18229 //IL_4462a: Unknown result type (might be due to invalid IL or missing references)
18230 //IL_4467d: Unknown result type (might be due to invalid IL or missing references)
18231 //IL_44697: Unknown result type (might be due to invalid IL or missing references)
18232 //IL_4469c: Unknown result type (might be due to invalid IL or missing references)
18233 //IL_446a2: Unknown result type (might be due to invalid IL or missing references)
18234 //IL_446a8: Unknown result type (might be due to invalid IL or missing references)
18235 //IL_446ae: Unknown result type (might be due to invalid IL or missing references)
18236 //IL_446b3: Unknown result type (might be due to invalid IL or missing references)
18237 //IL_446c4: Unknown result type (might be due to invalid IL or missing references)
18238 //IL_446df: Unknown result type (might be due to invalid IL or missing references)
18239 //IL_446e4: Unknown result type (might be due to invalid IL or missing references)
18240 //IL_446ea: Unknown result type (might be due to invalid IL or missing references)
18241 //IL_44701: Unknown result type (might be due to invalid IL or missing references)
18242 //IL_44707: Unknown result type (might be due to invalid IL or missing references)
18243 //IL_44725: Unknown result type (might be due to invalid IL or missing references)
18244 //IL_4472b: Unknown result type (might be due to invalid IL or missing references)
18245 //IL_44735: Unknown result type (might be due to invalid IL or missing references)
18246 //IL_4473a: Unknown result type (might be due to invalid IL or missing references)
18247 //IL_447be: Unknown result type (might be due to invalid IL or missing references)
18248 //IL_447c4: Unknown result type (might be due to invalid IL or missing references)
18249 //IL_447c9: Unknown result type (might be due to invalid IL or missing references)
18250 //IL_447ce: Unknown result type (might be due to invalid IL or missing references)
18251 //IL_419ea: Unknown result type (might be due to invalid IL or missing references)
18252 //IL_419f4: Unknown result type (might be due to invalid IL or missing references)
18253 //IL_419f9: Unknown result type (might be due to invalid IL or missing references)
18254 //IL_416f9: Unknown result type (might be due to invalid IL or missing references)
18255 //IL_416fe: Unknown result type (might be due to invalid IL or missing references)
18256 //IL_41626: Unknown result type (might be due to invalid IL or missing references)
18257 //IL_41630: Unknown result type (might be due to invalid IL or missing references)
18258 //IL_41635: Unknown result type (might be due to invalid IL or missing references)
18259 //IL_414f7: Unknown result type (might be due to invalid IL or missing references)
18260 //IL_41503: Unknown result type (might be due to invalid IL or missing references)
18261 //IL_414a9: Unknown result type (might be due to invalid IL or missing references)
18262 //IL_414af: Unknown result type (might be due to invalid IL or missing references)
18263 //IL_414b4: Unknown result type (might be due to invalid IL or missing references)
18264 //IL_4139a: Unknown result type (might be due to invalid IL or missing references)
18265 //IL_413a4: Unknown result type (might be due to invalid IL or missing references)
18266 //IL_413a9: Unknown result type (might be due to invalid IL or missing references)
18267 //IL_41091: Unknown result type (might be due to invalid IL or missing references)
18268 //IL_4109b: Unknown result type (might be due to invalid IL or missing references)
18269 //IL_410a0: Unknown result type (might be due to invalid IL or missing references)
18270 //IL_410a6: Unknown result type (might be due to invalid IL or missing references)
18271 //IL_410c2: Unknown result type (might be due to invalid IL or missing references)
18272 //IL_410c8: Unknown result type (might be due to invalid IL or missing references)
18273 //IL_410ca: Unknown result type (might be due to invalid IL or missing references)
18274 //IL_410cf: Unknown result type (might be due to invalid IL or missing references)
18275 //IL_410d5: Unknown result type (might be due to invalid IL or missing references)
18276 //IL_410f1: Unknown result type (might be due to invalid IL or missing references)
18277 //IL_410f7: Unknown result type (might be due to invalid IL or missing references)
18278 //IL_410f9: Unknown result type (might be due to invalid IL or missing references)
18279 //IL_410fe: Unknown result type (might be due to invalid IL or missing references)
18280 //IL_41104: Unknown result type (might be due to invalid IL or missing references)
18281 //IL_4110a: Unknown result type (might be due to invalid IL or missing references)
18282 //IL_4111f: Unknown result type (might be due to invalid IL or missing references)
18283 //IL_41124: Unknown result type (might be due to invalid IL or missing references)
18284 //IL_41148: Unknown result type (might be due to invalid IL or missing references)
18285 //IL_40bac: Unknown result type (might be due to invalid IL or missing references)
18286 //IL_40bbd: Unknown result type (might be due to invalid IL or missing references)
18287 //IL_3f83a: Unknown result type (might be due to invalid IL or missing references)
18288 //IL_3f83f: Unknown result type (might be due to invalid IL or missing references)
18289 //IL_3f84b: Unknown result type (might be due to invalid IL or missing references)
18290 //IL_3f857: Unknown result type (might be due to invalid IL or missing references)
18291 //IL_3f71b: Unknown result type (might be due to invalid IL or missing references)
18292 //IL_3f726: Unknown result type (might be due to invalid IL or missing references)
18293 //IL_3f731: Unknown result type (might be due to invalid IL or missing references)
18294 //IL_3f73c: Unknown result type (might be due to invalid IL or missing references)
18295 //IL_3f57f: Unknown result type (might be due to invalid IL or missing references)
18296 //IL_3f58a: Unknown result type (might be due to invalid IL or missing references)
18297 //IL_3ed54: Unknown result type (might be due to invalid IL or missing references)
18298 //IL_3ed59: Unknown result type (might be due to invalid IL or missing references)
18299 //IL_3d625: Unknown result type (might be due to invalid IL or missing references)
18300 //IL_3d62a: Unknown result type (might be due to invalid IL or missing references)
18301 //IL_3d613: Unknown result type (might be due to invalid IL or missing references)
18302 //IL_3dd6c: Unknown result type (might be due to invalid IL or missing references)
18303 //IL_3dd76: Unknown result type (might be due to invalid IL or missing references)
18304 //IL_3dd7b: Unknown result type (might be due to invalid IL or missing references)
18305 //IL_3e112: Unknown result type (might be due to invalid IL or missing references)
18306 //IL_3e12b: Unknown result type (might be due to invalid IL or missing references)
18307 //IL_3e137: Unknown result type (might be due to invalid IL or missing references)
18308 //IL_3e5a7: Unknown result type (might be due to invalid IL or missing references)
18309 //IL_3e5b1: Unknown result type (might be due to invalid IL or missing references)
18310 //IL_3e5b6: Unknown result type (might be due to invalid IL or missing references)
18311 //IL_3e4f2: Unknown result type (might be due to invalid IL or missing references)
18312 //IL_3e4f8: Unknown result type (might be due to invalid IL or missing references)
18313 //IL_3e4fe: Unknown result type (might be due to invalid IL or missing references)
18314 //IL_3e504: Unknown result type (might be due to invalid IL or missing references)
18315 //IL_3e51d: Unknown result type (might be due to invalid IL or missing references)
18316 //IL_3e523: Unknown result type (might be due to invalid IL or missing references)
18317 //IL_3e528: Unknown result type (might be due to invalid IL or missing references)
18318 //IL_3e52d: Unknown result type (might be due to invalid IL or missing references)
18319 //IL_3e533: Unknown result type (might be due to invalid IL or missing references)
18320 //IL_3e539: Unknown result type (might be due to invalid IL or missing references)
18321 //IL_3bdcd: Unknown result type (might be due to invalid IL or missing references)
18322 //IL_3bde9: Unknown result type (might be due to invalid IL or missing references)
18323 //IL_3bdee: Unknown result type (might be due to invalid IL or missing references)
18324 //IL_3bdf5: Unknown result type (might be due to invalid IL or missing references)
18325 //IL_3bdfa: Unknown result type (might be due to invalid IL or missing references)
18326 //IL_3be00: Unknown result type (might be due to invalid IL or missing references)
18327 //IL_3be05: Unknown result type (might be due to invalid IL or missing references)
18328 //IL_3be0b: Unknown result type (might be due to invalid IL or missing references)
18329 //IL_3be11: Unknown result type (might be due to invalid IL or missing references)
18330 //IL_3be16: Unknown result type (might be due to invalid IL or missing references)
18331 //IL_3be23: Unknown result type (might be due to invalid IL or missing references)
18332 //IL_3be2e: Unknown result type (might be due to invalid IL or missing references)
18333 //IL_3bc85: Unknown result type (might be due to invalid IL or missing references)
18334 //IL_3bc9f: Unknown result type (might be due to invalid IL or missing references)
18335 //IL_3bca5: Unknown result type (might be due to invalid IL or missing references)
18336 //IL_3bcca: Unknown result type (might be due to invalid IL or missing references)
18337 //IL_3bcd0: Unknown result type (might be due to invalid IL or missing references)
18338 //IL_3bcdb: Unknown result type (might be due to invalid IL or missing references)
18339 //IL_3bcf7: Unknown result type (might be due to invalid IL or missing references)
18340 //IL_3bcfd: Unknown result type (might be due to invalid IL or missing references)
18341 //IL_3bcff: Unknown result type (might be due to invalid IL or missing references)
18342 //IL_3bd0a: Unknown result type (might be due to invalid IL or missing references)
18343 //IL_3bd25: Unknown result type (might be due to invalid IL or missing references)
18344 //IL_3bd2a: Unknown result type (might be due to invalid IL or missing references)
18345 //IL_3c873: Unknown result type (might be due to invalid IL or missing references)
18346 //IL_3c878: Unknown result type (might be due to invalid IL or missing references)
18347 //IL_3c87e: Unknown result type (might be due to invalid IL or missing references)
18348 //IL_3c883: Unknown result type (might be due to invalid IL or missing references)
18349 //IL_4c09c: Unknown result type (might be due to invalid IL or missing references)
18350 //IL_4c0a1: Unknown result type (might be due to invalid IL or missing references)
18351 //IL_4961d: Unknown result type (might be due to invalid IL or missing references)
18352 //IL_49639: Unknown result type (might be due to invalid IL or missing references)
18353 //IL_48f35: Unknown result type (might be due to invalid IL or missing references)
18354 //IL_48f3c: Unknown result type (might be due to invalid IL or missing references)
18355 //IL_48f41: Unknown result type (might be due to invalid IL or missing references)
18356 //IL_48f46: Unknown result type (might be due to invalid IL or missing references)
18357 //IL_48f7e: Unknown result type (might be due to invalid IL or missing references)
18358 //IL_48f8a: Unknown result type (might be due to invalid IL or missing references)
18359 //IL_48f8f: Unknown result type (might be due to invalid IL or missing references)
18360 //IL_48f97: Unknown result type (might be due to invalid IL or missing references)
18361 //IL_48fa8: Unknown result type (might be due to invalid IL or missing references)
18362 //IL_48fad: Unknown result type (might be due to invalid IL or missing references)
18363 //IL_48fb3: Unknown result type (might be due to invalid IL or missing references)
18364 //IL_48fbe: Unknown result type (might be due to invalid IL or missing references)
18365 //IL_48fc3: Unknown result type (might be due to invalid IL or missing references)
18366 //IL_48edf: Unknown result type (might be due to invalid IL or missing references)
18367 //IL_48c5e: Unknown result type (might be due to invalid IL or missing references)
18368 //IL_48c65: Unknown result type (might be due to invalid IL or missing references)
18369 //IL_48b37: Unknown result type (might be due to invalid IL or missing references)
18370 //IL_48b4a: Unknown result type (might be due to invalid IL or missing references)
18371 //IL_48b57: Unknown result type (might be due to invalid IL or missing references)
18372 //IL_48b5c: Unknown result type (might be due to invalid IL or missing references)
18373 //IL_48b74: Unknown result type (might be due to invalid IL or missing references)
18374 //IL_47f3d: Unknown result type (might be due to invalid IL or missing references)
18375 //IL_47f43: Unknown result type (might be due to invalid IL or missing references)
18376 //IL_47f48: Unknown result type (might be due to invalid IL or missing references)
18377 //IL_47f4d: Unknown result type (might be due to invalid IL or missing references)
18378 //IL_48107: Unknown result type (might be due to invalid IL or missing references)
18379 //IL_48111: Unknown result type (might be due to invalid IL or missing references)
18380 //IL_48116: Unknown result type (might be due to invalid IL or missing references)
18381 //IL_4811c: Unknown result type (might be due to invalid IL or missing references)
18382 //IL_48126: Unknown result type (might be due to invalid IL or missing references)
18383 //IL_4812b: Unknown result type (might be due to invalid IL or missing references)
18384 //IL_47036: Unknown result type (might be due to invalid IL or missing references)
18385 //IL_4703c: Unknown result type (might be due to invalid IL or missing references)
18386 //IL_47041: Unknown result type (might be due to invalid IL or missing references)
18387 //IL_47046: Unknown result type (might be due to invalid IL or missing references)
18388 //IL_47086: Unknown result type (might be due to invalid IL or missing references)
18389 //IL_47092: Unknown result type (might be due to invalid IL or missing references)
18390 //IL_47097: Unknown result type (might be due to invalid IL or missing references)
18391 //IL_4709f: Unknown result type (might be due to invalid IL or missing references)
18392 //IL_470b0: Unknown result type (might be due to invalid IL or missing references)
18393 //IL_470b5: Unknown result type (might be due to invalid IL or missing references)
18394 //IL_470bb: Unknown result type (might be due to invalid IL or missing references)
18395 //IL_470c6: Unknown result type (might be due to invalid IL or missing references)
18396 //IL_470cb: Unknown result type (might be due to invalid IL or missing references)
18397 //IL_46aaf: Unknown result type (might be due to invalid IL or missing references)
18398 //IL_46ac0: Unknown result type (might be due to invalid IL or missing references)
18399 //IL_4658f: Unknown result type (might be due to invalid IL or missing references)
18400 //IL_46595: Unknown result type (might be due to invalid IL or missing references)
18401 //IL_4659a: Unknown result type (might be due to invalid IL or missing references)
18402 //IL_4659f: Unknown result type (might be due to invalid IL or missing references)
18403 //IL_45bdf: Unknown result type (might be due to invalid IL or missing references)
18404 //IL_45be5: Unknown result type (might be due to invalid IL or missing references)
18405 //IL_45bea: Unknown result type (might be due to invalid IL or missing references)
18406 //IL_45bef: Unknown result type (might be due to invalid IL or missing references)
18407 //IL_45983: Unknown result type (might be due to invalid IL or missing references)
18408 //IL_4598e: Unknown result type (might be due to invalid IL or missing references)
18409 //IL_45993: Unknown result type (might be due to invalid IL or missing references)
18410 //IL_4599b: Unknown result type (might be due to invalid IL or missing references)
18411 //IL_459a5: Unknown result type (might be due to invalid IL or missing references)
18412 //IL_459aa: Unknown result type (might be due to invalid IL or missing references)
18413 //IL_459b0: Unknown result type (might be due to invalid IL or missing references)
18414 //IL_459ba: Unknown result type (might be due to invalid IL or missing references)
18415 //IL_459bf: Unknown result type (might be due to invalid IL or missing references)
18416 //IL_45923: Unknown result type (might be due to invalid IL or missing references)
18417 //IL_45939: Unknown result type (might be due to invalid IL or missing references)
18418 //IL_43dd7: Unknown result type (might be due to invalid IL or missing references)
18419 //IL_43de6: Unknown result type (might be due to invalid IL or missing references)
18420 //IL_43deb: Unknown result type (might be due to invalid IL or missing references)
18421 //IL_438eb: Unknown result type (might be due to invalid IL or missing references)
18422 //IL_438f6: Unknown result type (might be due to invalid IL or missing references)
18423 //IL_438fb: Unknown result type (might be due to invalid IL or missing references)
18424 //IL_41b01: Unknown result type (might be due to invalid IL or missing references)
18425 //IL_41b0b: Unknown result type (might be due to invalid IL or missing references)
18426 //IL_41b10: Unknown result type (might be due to invalid IL or missing references)
18427 //IL_41542: Unknown result type (might be due to invalid IL or missing references)
18428 //IL_4154c: Unknown result type (might be due to invalid IL or missing references)
18429 //IL_41551: Unknown result type (might be due to invalid IL or missing references)
18430 //IL_41558: Unknown result type (might be due to invalid IL or missing references)
18431 //IL_41563: Unknown result type (might be due to invalid IL or missing references)
18432 //IL_41568: Unknown result type (might be due to invalid IL or missing references)
18433 //IL_3ed7a: Unknown result type (might be due to invalid IL or missing references)
18434 //IL_3ed7f: Unknown result type (might be due to invalid IL or missing references)
18435 //IL_3ed85: Unknown result type (might be due to invalid IL or missing references)
18436 //IL_3ed8a: Unknown result type (might be due to invalid IL or missing references)
18437 //IL_3ed90: Unknown result type (might be due to invalid IL or missing references)
18438 //IL_3ed96: Unknown result type (might be due to invalid IL or missing references)
18439 //IL_3d630: Unknown result type (might be due to invalid IL or missing references)
18440 //IL_3d63b: Unknown result type (might be due to invalid IL or missing references)
18441 //IL_3d640: Unknown result type (might be due to invalid IL or missing references)
18442 //IL_3de0b: Unknown result type (might be due to invalid IL or missing references)
18443 //IL_3de15: Unknown result type (might be due to invalid IL or missing references)
18444 //IL_3e186: Unknown result type (might be due to invalid IL or missing references)
18445 //IL_3e18b: Unknown result type (might be due to invalid IL or missing references)
18446 //IL_3e199: Unknown result type (might be due to invalid IL or missing references)
18447 //IL_3e19e: Unknown result type (might be due to invalid IL or missing references)
18448 //IL_3e1a3: Unknown result type (might be due to invalid IL or missing references)
18449 //IL_3e1aa: Unknown result type (might be due to invalid IL or missing references)
18450 //IL_3e1af: Unknown result type (might be due to invalid IL or missing references)
18451 //IL_3e1b5: Unknown result type (might be due to invalid IL or missing references)
18452 //IL_3e1c5: Unknown result type (might be due to invalid IL or missing references)
18453 //IL_3e1cf: Unknown result type (might be due to invalid IL or missing references)
18454 //IL_3e1d4: Unknown result type (might be due to invalid IL or missing references)
18455 //IL_3e1d9: Unknown result type (might be due to invalid IL or missing references)
18456 //IL_3e1df: Unknown result type (might be due to invalid IL or missing references)
18457 //IL_3e1e4: Unknown result type (might be due to invalid IL or missing references)
18458 //IL_3e1ea: Unknown result type (might be due to invalid IL or missing references)
18459 //IL_3e1f0: Unknown result type (might be due to invalid IL or missing references)
18460 //IL_3e1fa: Unknown result type (might be due to invalid IL or missing references)
18461 //IL_3e1ff: Unknown result type (might be due to invalid IL or missing references)
18462 //IL_3e23b: Unknown result type (might be due to invalid IL or missing references)
18463 //IL_3e246: Unknown result type (might be due to invalid IL or missing references)
18464 //IL_3e251: Unknown result type (might be due to invalid IL or missing references)
18465 //IL_3e25c: Unknown result type (might be due to invalid IL or missing references)
18466 //IL_3e548: Unknown result type (might be due to invalid IL or missing references)
18467 //IL_3e54e: Unknown result type (might be due to invalid IL or missing references)
18468 //IL_3e561: Unknown result type (might be due to invalid IL or missing references)
18469 //IL_3e566: Unknown result type (might be due to invalid IL or missing references)
18470 //IL_3e581: Unknown result type (might be due to invalid IL or missing references)
18471 //IL_3e58b: Unknown result type (might be due to invalid IL or missing references)
18472 //IL_3e590: Unknown result type (might be due to invalid IL or missing references)
18473 //IL_3e47e: Unknown result type (might be due to invalid IL or missing references)
18474 //IL_3e489: Unknown result type (might be due to invalid IL or missing references)
18475 //IL_3e48e: Unknown result type (might be due to invalid IL or missing references)
18476 //IL_3e49b: Unknown result type (might be due to invalid IL or missing references)
18477 //IL_3e4a6: Unknown result type (might be due to invalid IL or missing references)
18478 //IL_3e4b0: Unknown result type (might be due to invalid IL or missing references)
18479 //IL_3e4bb: Unknown result type (might be due to invalid IL or missing references)
18480 //IL_3a8fb: Unknown result type (might be due to invalid IL or missing references)
18481 //IL_3a90a: Unknown result type (might be due to invalid IL or missing references)
18482 //IL_3a90f: Unknown result type (might be due to invalid IL or missing references)
18483 //IL_3a914: Unknown result type (might be due to invalid IL or missing references)
18484 //IL_3a91a: Unknown result type (might be due to invalid IL or missing references)
18485 //IL_3a91f: Unknown result type (might be due to invalid IL or missing references)
18486 //IL_4c0c4: Unknown result type (might be due to invalid IL or missing references)
18487 //IL_4c0d6: Unknown result type (might be due to invalid IL or missing references)
18488 //IL_4c0db: Unknown result type (might be due to invalid IL or missing references)
18489 //IL_4c13d: Unknown result type (might be due to invalid IL or missing references)
18490 //IL_4be1e: Unknown result type (might be due to invalid IL or missing references)
18491 //IL_4be23: Unknown result type (might be due to invalid IL or missing references)
18492 //IL_494e9: Unknown result type (might be due to invalid IL or missing references)
18493 //IL_494fa: Unknown result type (might be due to invalid IL or missing references)
18494 //IL_48cd1: Unknown result type (might be due to invalid IL or missing references)
18495 //IL_48cdc: Unknown result type (might be due to invalid IL or missing references)
18496 //IL_48ce1: Unknown result type (might be due to invalid IL or missing references)
18497 //IL_48ce9: Unknown result type (might be due to invalid IL or missing references)
18498 //IL_48cee: Unknown result type (might be due to invalid IL or missing references)
18499 //IL_48cf4: Unknown result type (might be due to invalid IL or missing references)
18500 //IL_48cf9: Unknown result type (might be due to invalid IL or missing references)
18501 //IL_48c88: Unknown result type (might be due to invalid IL or missing references)
18502 //IL_48c9b: Unknown result type (might be due to invalid IL or missing references)
18503 //IL_48b99: Unknown result type (might be due to invalid IL or missing references)
18504 //IL_48ba0: Unknown result type (might be due to invalid IL or missing references)
18505 //IL_47f79: Unknown result type (might be due to invalid IL or missing references)
18506 //IL_47f84: Unknown result type (might be due to invalid IL or missing references)
18507 //IL_47f89: Unknown result type (might be due to invalid IL or missing references)
18508 //IL_47f91: Unknown result type (might be due to invalid IL or missing references)
18509 //IL_47f96: Unknown result type (might be due to invalid IL or missing references)
18510 //IL_47f9c: Unknown result type (might be due to invalid IL or missing references)
18511 //IL_47fa1: Unknown result type (might be due to invalid IL or missing references)
18512 //IL_47fd0: Unknown result type (might be due to invalid IL or missing references)
18513 //IL_47fd5: Unknown result type (might be due to invalid IL or missing references)
18514 //IL_47fdb: Unknown result type (might be due to invalid IL or missing references)
18515 //IL_47fe0: Unknown result type (might be due to invalid IL or missing references)
18516 //IL_46e42: Unknown result type (might be due to invalid IL or missing references)
18517 //IL_46e48: Unknown result type (might be due to invalid IL or missing references)
18518 //IL_46e4d: Unknown result type (might be due to invalid IL or missing references)
18519 //IL_46e52: Unknown result type (might be due to invalid IL or missing references)
18520 //IL_46e72: Unknown result type (might be due to invalid IL or missing references)
18521 //IL_46e88: Unknown result type (might be due to invalid IL or missing references)
18522 //IL_46ae1: Unknown result type (might be due to invalid IL or missing references)
18523 //IL_46af2: Unknown result type (might be due to invalid IL or missing references)
18524 //IL_468fb: Unknown result type (might be due to invalid IL or missing references)
18525 //IL_46901: Unknown result type (might be due to invalid IL or missing references)
18526 //IL_46906: Unknown result type (might be due to invalid IL or missing references)
18527 //IL_4690b: Unknown result type (might be due to invalid IL or missing references)
18528 //IL_45da9: Unknown result type (might be due to invalid IL or missing references)
18529 //IL_45aec: Unknown result type (might be due to invalid IL or missing references)
18530 //IL_458e1: Unknown result type (might be due to invalid IL or missing references)
18531 //IL_458e7: Unknown result type (might be due to invalid IL or missing references)
18532 //IL_43e1a: Unknown result type (might be due to invalid IL or missing references)
18533 //IL_43e1f: Unknown result type (might be due to invalid IL or missing references)
18534 //IL_43e37: Unknown result type (might be due to invalid IL or missing references)
18535 //IL_43e47: Unknown result type (might be due to invalid IL or missing references)
18536 //IL_43e4e: Unknown result type (might be due to invalid IL or missing references)
18537 //IL_41b28: Unknown result type (might be due to invalid IL or missing references)
18538 //IL_41b2d: Unknown result type (might be due to invalid IL or missing references)
18539 //IL_41181: Unknown result type (might be due to invalid IL or missing references)
18540 //IL_41186: Unknown result type (might be due to invalid IL or missing references)
18541 //IL_4118c: Unknown result type (might be due to invalid IL or missing references)
18542 //IL_41191: Unknown result type (might be due to invalid IL or missing references)
18543 //IL_4119b: Unknown result type (might be due to invalid IL or missing references)
18544 //IL_411a0: Unknown result type (might be due to invalid IL or missing references)
18545 //IL_411b9: Unknown result type (might be due to invalid IL or missing references)
18546 //IL_411bf: Unknown result type (might be due to invalid IL or missing references)
18547 //IL_411ef: Unknown result type (might be due to invalid IL or missing references)
18548 //IL_411f4: Unknown result type (might be due to invalid IL or missing references)
18549 //IL_411ff: Unknown result type (might be due to invalid IL or missing references)
18550 //IL_41204: Unknown result type (might be due to invalid IL or missing references)
18551 //IL_41209: Unknown result type (might be due to invalid IL or missing references)
18552 //IL_3fc98: Unknown result type (might be due to invalid IL or missing references)
18553 //IL_3fca9: Unknown result type (might be due to invalid IL or missing references)
18554 //IL_3fcae: Unknown result type (might be due to invalid IL or missing references)
18555 //IL_3fcb4: Unknown result type (might be due to invalid IL or missing references)
18556 //IL_3fcb9: Unknown result type (might be due to invalid IL or missing references)
18557 //IL_3fcbe: Unknown result type (might be due to invalid IL or missing references)
18558 //IL_3eed2: Unknown result type (might be due to invalid IL or missing references)
18559 //IL_3eed7: Unknown result type (might be due to invalid IL or missing references)
18560 //IL_3eee3: Unknown result type (might be due to invalid IL or missing references)
18561 //IL_3eeef: Unknown result type (might be due to invalid IL or missing references)
18562 //IL_3edb3: Unknown result type (might be due to invalid IL or missing references)
18563 //IL_3edbe: Unknown result type (might be due to invalid IL or missing references)
18564 //IL_3edc9: Unknown result type (might be due to invalid IL or missing references)
18565 //IL_3edd4: Unknown result type (might be due to invalid IL or missing references)
18566 //IL_3e73e: Unknown result type (might be due to invalid IL or missing references)
18567 //IL_3e744: Unknown result type (might be due to invalid IL or missing references)
18568 //IL_3e74a: Unknown result type (might be due to invalid IL or missing references)
18569 //IL_3e750: Unknown result type (might be due to invalid IL or missing references)
18570 //IL_3e76f: Unknown result type (might be due to invalid IL or missing references)
18571 //IL_3e775: Unknown result type (might be due to invalid IL or missing references)
18572 //IL_3e77a: Unknown result type (might be due to invalid IL or missing references)
18573 //IL_3e77f: Unknown result type (might be due to invalid IL or missing references)
18574 //IL_3e785: Unknown result type (might be due to invalid IL or missing references)
18575 //IL_3e78b: Unknown result type (might be due to invalid IL or missing references)
18576 //IL_3be50: Unknown result type (might be due to invalid IL or missing references)
18577 //IL_3be5b: Unknown result type (might be due to invalid IL or missing references)
18578 //IL_3a956: Unknown result type (might be due to invalid IL or missing references)
18579 //IL_3a95b: Unknown result type (might be due to invalid IL or missing references)
18580 //IL_3a966: Unknown result type (might be due to invalid IL or missing references)
18581 //IL_3a970: Unknown result type (might be due to invalid IL or missing references)
18582 //IL_3a975: Unknown result type (might be due to invalid IL or missing references)
18583 //IL_3a981: Unknown result type (might be due to invalid IL or missing references)
18584 //IL_3a98b: Unknown result type (might be due to invalid IL or missing references)
18585 //IL_3a990: Unknown result type (might be due to invalid IL or missing references)
18586 //IL_4cbd8: Unknown result type (might be due to invalid IL or missing references)
18587 //IL_4cbeb: Unknown result type (might be due to invalid IL or missing references)
18588 //IL_4c125: Unknown result type (might be due to invalid IL or missing references)
18589 //IL_4c131: Unknown result type (might be due to invalid IL or missing references)
18590 //IL_4c136: Unknown result type (might be due to invalid IL or missing references)
18591 //IL_4c0fb: Unknown result type (might be due to invalid IL or missing references)
18592 //IL_4c10d: Unknown result type (might be due to invalid IL or missing references)
18593 //IL_4c112: Unknown result type (might be due to invalid IL or missing references)
18594 //IL_4a73e: Unknown result type (might be due to invalid IL or missing references)
18595 //IL_49959: Unknown result type (might be due to invalid IL or missing references)
18596 //IL_4981c: Unknown result type (might be due to invalid IL or missing references)
18597 //IL_4982a: Unknown result type (might be due to invalid IL or missing references)
18598 //IL_49830: Unknown result type (might be due to invalid IL or missing references)
18599 //IL_49832: Unknown result type (might be due to invalid IL or missing references)
18600 //IL_49837: Unknown result type (might be due to invalid IL or missing references)
18601 //IL_4983d: Unknown result type (might be due to invalid IL or missing references)
18602 //IL_49844: Unknown result type (might be due to invalid IL or missing references)
18603 //IL_49849: Unknown result type (might be due to invalid IL or missing references)
18604 //IL_4984e: Unknown result type (might be due to invalid IL or missing references)
18605 //IL_4985a: Unknown result type (might be due to invalid IL or missing references)
18606 //IL_49866: Unknown result type (might be due to invalid IL or missing references)
18607 //IL_498d9: Unknown result type (might be due to invalid IL or missing references)
18608 //IL_498df: Unknown result type (might be due to invalid IL or missing references)
18609 //IL_498e4: Unknown result type (might be due to invalid IL or missing references)
18610 //IL_498e9: Unknown result type (might be due to invalid IL or missing references)
18611 //IL_49533: Unknown result type (might be due to invalid IL or missing references)
18612 //IL_49544: Unknown result type (might be due to invalid IL or missing references)
18613 //IL_48bb2: Unknown result type (might be due to invalid IL or missing references)
18614 //IL_48bc6: Unknown result type (might be due to invalid IL or missing references)
18615 //IL_47de0: Unknown result type (might be due to invalid IL or missing references)
18616 //IL_47df7: Unknown result type (might be due to invalid IL or missing references)
18617 //IL_47dfc: Unknown result type (might be due to invalid IL or missing references)
18618 //IL_4739d: Unknown result type (might be due to invalid IL or missing references)
18619 //IL_4722a: Unknown result type (might be due to invalid IL or missing references)
18620 //IL_47240: Unknown result type (might be due to invalid IL or missing references)
18621 //IL_469b2: Unknown result type (might be due to invalid IL or missing references)
18622 //IL_469be: Unknown result type (might be due to invalid IL or missing references)
18623 //IL_469c3: Unknown result type (might be due to invalid IL or missing references)
18624 //IL_469cb: Unknown result type (might be due to invalid IL or missing references)
18625 //IL_469dc: Unknown result type (might be due to invalid IL or missing references)
18626 //IL_469e1: Unknown result type (might be due to invalid IL or missing references)
18627 //IL_469e7: Unknown result type (might be due to invalid IL or missing references)
18628 //IL_469f2: Unknown result type (might be due to invalid IL or missing references)
18629 //IL_469f7: Unknown result type (might be due to invalid IL or missing references)
18630 //IL_46643: Unknown result type (might be due to invalid IL or missing references)
18631 //IL_4664f: Unknown result type (might be due to invalid IL or missing references)
18632 //IL_46654: Unknown result type (might be due to invalid IL or missing references)
18633 //IL_4665c: Unknown result type (might be due to invalid IL or missing references)
18634 //IL_4666d: Unknown result type (might be due to invalid IL or missing references)
18635 //IL_46672: Unknown result type (might be due to invalid IL or missing references)
18636 //IL_46678: Unknown result type (might be due to invalid IL or missing references)
18637 //IL_46683: Unknown result type (might be due to invalid IL or missing references)
18638 //IL_46688: Unknown result type (might be due to invalid IL or missing references)
18639 //IL_45df8: Unknown result type (might be due to invalid IL or missing references)
18640 //IL_45cb1: Unknown result type (might be due to invalid IL or missing references)
18641 //IL_45cbb: Unknown result type (might be due to invalid IL or missing references)
18642 //IL_45cc0: Unknown result type (might be due to invalid IL or missing references)
18643 //IL_45cc6: Unknown result type (might be due to invalid IL or missing references)
18644 //IL_45cd0: Unknown result type (might be due to invalid IL or missing references)
18645 //IL_45cd5: Unknown result type (might be due to invalid IL or missing references)
18646 //IL_45c99: Unknown result type (might be due to invalid IL or missing references)
18647 //IL_45ca4: Unknown result type (might be due to invalid IL or missing references)
18648 //IL_45ca9: Unknown result type (might be due to invalid IL or missing references)
18649 //IL_45c29: Unknown result type (might be due to invalid IL or missing references)
18650 //IL_44fcf: Unknown result type (might be due to invalid IL or missing references)
18651 //IL_44fda: Unknown result type (might be due to invalid IL or missing references)
18652 //IL_44fdf: Unknown result type (might be due to invalid IL or missing references)
18653 //IL_43ecf: Unknown result type (might be due to invalid IL or missing references)
18654 //IL_43ed4: Unknown result type (might be due to invalid IL or missing references)
18655 //IL_43eec: Unknown result type (might be due to invalid IL or missing references)
18656 //IL_43efc: Unknown result type (might be due to invalid IL or missing references)
18657 //IL_43f03: Unknown result type (might be due to invalid IL or missing references)
18658 //IL_43e5e: Unknown result type (might be due to invalid IL or missing references)
18659 //IL_43e65: Unknown result type (might be due to invalid IL or missing references)
18660 //IL_41d3e: Unknown result type (might be due to invalid IL or missing references)
18661 //IL_41d44: Unknown result type (might be due to invalid IL or missing references)
18662 //IL_41d49: Unknown result type (might be due to invalid IL or missing references)
18663 //IL_41d4e: Unknown result type (might be due to invalid IL or missing references)
18664 //IL_41d6a: Unknown result type (might be due to invalid IL or missing references)
18665 //IL_41b41: Unknown result type (might be due to invalid IL or missing references)
18666 //IL_41b46: Unknown result type (might be due to invalid IL or missing references)
18667 //IL_4184b: Unknown result type (might be due to invalid IL or missing references)
18668 //IL_41850: Unknown result type (might be due to invalid IL or missing references)
18669 //IL_41856: Unknown result type (might be due to invalid IL or missing references)
18670 //IL_41863: Unknown result type (might be due to invalid IL or missing references)
18671 //IL_41868: Unknown result type (might be due to invalid IL or missing references)
18672 //IL_4189c: Unknown result type (might be due to invalid IL or missing references)
18673 //IL_418a2: Unknown result type (might be due to invalid IL or missing references)
18674 //IL_418ad: Unknown result type (might be due to invalid IL or missing references)
18675 //IL_418b2: Unknown result type (might be due to invalid IL or missing references)
18676 //IL_418bf: Unknown result type (might be due to invalid IL or missing references)
18677 //IL_40e78: Unknown result type (might be due to invalid IL or missing references)
18678 //IL_40e7d: Unknown result type (might be due to invalid IL or missing references)
18679 //IL_40e8b: Unknown result type (might be due to invalid IL or missing references)
18680 //IL_40e90: Unknown result type (might be due to invalid IL or missing references)
18681 //IL_40e95: Unknown result type (might be due to invalid IL or missing references)
18682 //IL_40e9b: Unknown result type (might be due to invalid IL or missing references)
18683 //IL_40ea1: Unknown result type (might be due to invalid IL or missing references)
18684 //IL_40eab: Unknown result type (might be due to invalid IL or missing references)
18685 //IL_40eb0: Unknown result type (might be due to invalid IL or missing references)
18686 //IL_40ebd: Unknown result type (might be due to invalid IL or missing references)
18687 //IL_40ec7: Unknown result type (might be due to invalid IL or missing references)
18688 //IL_40ed4: Unknown result type (might be due to invalid IL or missing references)
18689 //IL_40ede: Unknown result type (might be due to invalid IL or missing references)
18690 //IL_40eea: Unknown result type (might be due to invalid IL or missing references)
18691 //IL_40ef5: Unknown result type (might be due to invalid IL or missing references)
18692 //IL_3fdb0: Unknown result type (might be due to invalid IL or missing references)
18693 //IL_3fdc9: Unknown result type (might be due to invalid IL or missing references)
18694 //IL_3fdd5: Unknown result type (might be due to invalid IL or missing references)
18695 //IL_3de27: Unknown result type (might be due to invalid IL or missing references)
18696 //IL_3de2c: Unknown result type (might be due to invalid IL or missing references)
18697 //IL_3ded8: Unknown result type (might be due to invalid IL or missing references)
18698 //IL_3dee2: Unknown result type (might be due to invalid IL or missing references)
18699 //IL_3e79a: Unknown result type (might be due to invalid IL or missing references)
18700 //IL_3e7a0: Unknown result type (might be due to invalid IL or missing references)
18701 //IL_3e7b3: Unknown result type (might be due to invalid IL or missing references)
18702 //IL_3e7b8: Unknown result type (might be due to invalid IL or missing references)
18703 //IL_3e7d3: Unknown result type (might be due to invalid IL or missing references)
18704 //IL_3e7dd: Unknown result type (might be due to invalid IL or missing references)
18705 //IL_3e7e2: Unknown result type (might be due to invalid IL or missing references)
18706 //IL_3e5ec: Unknown result type (might be due to invalid IL or missing references)
18707 //IL_3e614: Unknown result type (might be due to invalid IL or missing references)
18708 //IL_3e61a: Unknown result type (might be due to invalid IL or missing references)
18709 //IL_3e61f: Unknown result type (might be due to invalid IL or missing references)
18710 //IL_3e629: Unknown result type (might be due to invalid IL or missing references)
18711 //IL_3e62e: Unknown result type (might be due to invalid IL or missing references)
18712 //IL_3e633: Unknown result type (might be due to invalid IL or missing references)
18713 //IL_3e638: Unknown result type (might be due to invalid IL or missing references)
18714 //IL_3e63d: Unknown result type (might be due to invalid IL or missing references)
18715 //IL_3e643: Unknown result type (might be due to invalid IL or missing references)
18716 //IL_3be85: Unknown result type (might be due to invalid IL or missing references)
18717 //IL_3bea0: Unknown result type (might be due to invalid IL or missing references)
18718 //IL_3bea6: Unknown result type (might be due to invalid IL or missing references)
18719 //IL_3becb: Unknown result type (might be due to invalid IL or missing references)
18720 //IL_3bed1: Unknown result type (might be due to invalid IL or missing references)
18721 //IL_3bedc: Unknown result type (might be due to invalid IL or missing references)
18722 //IL_3bee1: Unknown result type (might be due to invalid IL or missing references)
18723 //IL_3beec: Unknown result type (might be due to invalid IL or missing references)
18724 //IL_3bf07: Unknown result type (might be due to invalid IL or missing references)
18725 //IL_3bf0c: Unknown result type (might be due to invalid IL or missing references)
18726 //IL_3a66e: Unknown result type (might be due to invalid IL or missing references)
18727 //IL_3a673: Unknown result type (might be due to invalid IL or missing references)
18728 //IL_3a67e: Unknown result type (might be due to invalid IL or missing references)
18729 //IL_3a688: Unknown result type (might be due to invalid IL or missing references)
18730 //IL_3a68d: Unknown result type (might be due to invalid IL or missing references)
18731 //IL_393f4: Unknown result type (might be due to invalid IL or missing references)
18732 //IL_393f9: Unknown result type (might be due to invalid IL or missing references)
18733 //IL_3940d: Unknown result type (might be due to invalid IL or missing references)
18734 //IL_39413: Unknown result type (might be due to invalid IL or missing references)
18735 //IL_39418: Unknown result type (might be due to invalid IL or missing references)
18736 //IL_3941d: Unknown result type (might be due to invalid IL or missing references)
18737 //IL_39431: Unknown result type (might be due to invalid IL or missing references)
18738 //IL_39436: Unknown result type (might be due to invalid IL or missing references)
18739 //IL_38f7c: Unknown result type (might be due to invalid IL or missing references)
18740 //IL_38e78: Unknown result type (might be due to invalid IL or missing references)
18741 //IL_38e9e: Unknown result type (might be due to invalid IL or missing references)
18742 //IL_38ea4: Unknown result type (might be due to invalid IL or missing references)
18743 //IL_38ea6: Unknown result type (might be due to invalid IL or missing references)
18744 //IL_38eab: Unknown result type (might be due to invalid IL or missing references)
18745 //IL_38eb1: Unknown result type (might be due to invalid IL or missing references)
18746 //IL_38ebc: Unknown result type (might be due to invalid IL or missing references)
18747 //IL_38ec1: Unknown result type (might be due to invalid IL or missing references)
18748 //IL_38ecc: Unknown result type (might be due to invalid IL or missing references)
18749 //IL_38ed1: Unknown result type (might be due to invalid IL or missing references)
18750 //IL_38ee5: Unknown result type (might be due to invalid IL or missing references)
18751 //IL_38eeb: Unknown result type (might be due to invalid IL or missing references)
18752 //IL_38ef0: Unknown result type (might be due to invalid IL or missing references)
18753 //IL_38ef5: Unknown result type (might be due to invalid IL or missing references)
18754 //IL_38f09: Unknown result type (might be due to invalid IL or missing references)
18755 //IL_38f0e: Unknown result type (might be due to invalid IL or missing references)
18756 //IL_38f13: Unknown result type (might be due to invalid IL or missing references)
18757 //IL_38f1f: Unknown result type (might be due to invalid IL or missing references)
18758 //IL_38f2a: Unknown result type (might be due to invalid IL or missing references)
18759 //IL_38f35: Unknown result type (might be due to invalid IL or missing references)
18760 //IL_38f40: Unknown result type (might be due to invalid IL or missing references)
18761 //IL_4c46e: Unknown result type (might be due to invalid IL or missing references)
18762 //IL_4c482: Unknown result type (might be due to invalid IL or missing references)
18763 //IL_4c487: Unknown result type (might be due to invalid IL or missing references)
18764 //IL_4c48c: Unknown result type (might be due to invalid IL or missing references)
18765 //IL_4c49e: Unknown result type (might be due to invalid IL or missing references)
18766 //IL_4c4a3: Unknown result type (might be due to invalid IL or missing references)
18767 //IL_4c4a9: Unknown result type (might be due to invalid IL or missing references)
18768 //IL_4c4ae: Unknown result type (might be due to invalid IL or missing references)
18769 //IL_4c4b5: Unknown result type (might be due to invalid IL or missing references)
18770 //IL_4c4c8: Unknown result type (might be due to invalid IL or missing references)
18771 //IL_4c2e5: Unknown result type (might be due to invalid IL or missing references)
18772 //IL_4c2ea: Unknown result type (might be due to invalid IL or missing references)
18773 //IL_4c1ac: Unknown result type (might be due to invalid IL or missing references)
18774 //IL_4c1b1: Unknown result type (might be due to invalid IL or missing references)
18775 //IL_4a640: Unknown result type (might be due to invalid IL or missing references)
18776 //IL_48beb: Unknown result type (might be due to invalid IL or missing references)
18777 //IL_48bfe: Unknown result type (might be due to invalid IL or missing references)
18778 //IL_4825e: Unknown result type (might be due to invalid IL or missing references)
18779 //IL_48264: Unknown result type (might be due to invalid IL or missing references)
18780 //IL_48269: Unknown result type (might be due to invalid IL or missing references)
18781 //IL_4826e: Unknown result type (might be due to invalid IL or missing references)
18782 //IL_47265: Unknown result type (might be due to invalid IL or missing references)
18783 //IL_4727b: Unknown result type (might be due to invalid IL or missing references)
18784 //IL_4692c: Unknown result type (might be due to invalid IL or missing references)
18785 //IL_466a3: Unknown result type (might be due to invalid IL or missing references)
18786 //IL_466ad: Unknown result type (might be due to invalid IL or missing references)
18787 //IL_466b2: Unknown result type (might be due to invalid IL or missing references)
18788 //IL_45e4d: Unknown result type (might be due to invalid IL or missing references)
18789 //IL_44cfd: Unknown result type (might be due to invalid IL or missing references)
18790 //IL_44d08: Unknown result type (might be due to invalid IL or missing references)
18791 //IL_43f21: Unknown result type (might be due to invalid IL or missing references)
18792 //IL_43f28: Unknown result type (might be due to invalid IL or missing references)
18793 //IL_43e80: Unknown result type (might be due to invalid IL or missing references)
18794 //IL_43e87: Unknown result type (might be due to invalid IL or missing references)
18795 //IL_41d87: Unknown result type (might be due to invalid IL or missing references)
18796 //IL_41da8: Unknown result type (might be due to invalid IL or missing references)
18797 //IL_41dae: Unknown result type (might be due to invalid IL or missing references)
18798 //IL_41db0: Unknown result type (might be due to invalid IL or missing references)
18799 //IL_41db5: Unknown result type (might be due to invalid IL or missing references)
18800 //IL_41dc2: Unknown result type (might be due to invalid IL or missing references)
18801 //IL_41dcd: Unknown result type (might be due to invalid IL or missing references)
18802 //IL_41dd7: Unknown result type (might be due to invalid IL or missing references)
18803 //IL_41de2: Unknown result type (might be due to invalid IL or missing references)
18804 //IL_41e29: Unknown result type (might be due to invalid IL or missing references)
18805 //IL_41263: Unknown result type (might be due to invalid IL or missing references)
18806 //IL_41269: Unknown result type (might be due to invalid IL or missing references)
18807 //IL_4126e: Unknown result type (might be due to invalid IL or missing references)
18808 //IL_41274: Unknown result type (might be due to invalid IL or missing references)
18809 //IL_3fe02: Unknown result type (might be due to invalid IL or missing references)
18810 //IL_3fe07: Unknown result type (might be due to invalid IL or missing references)
18811 //IL_3fe0d: Unknown result type (might be due to invalid IL or missing references)
18812 //IL_3fe12: Unknown result type (might be due to invalid IL or missing references)
18813 //IL_3fe1f: Unknown result type (might be due to invalid IL or missing references)
18814 //IL_3fe2a: Unknown result type (might be due to invalid IL or missing references)
18815 //IL_3fe34: Unknown result type (might be due to invalid IL or missing references)
18816 //IL_3fe3f: Unknown result type (might be due to invalid IL or missing references)
18817 //IL_3fd36: Unknown result type (might be due to invalid IL or missing references)
18818 //IL_3e667: Unknown result type (might be due to invalid IL or missing references)
18819 //IL_3e66c: Unknown result type (might be due to invalid IL or missing references)
18820 //IL_3e655: Unknown result type (might be due to invalid IL or missing references)
18821 //IL_3c8fe: Unknown result type (might be due to invalid IL or missing references)
18822 //IL_3c903: Unknown result type (might be due to invalid IL or missing references)
18823 //IL_3c909: Unknown result type (might be due to invalid IL or missing references)
18824 //IL_3c90e: Unknown result type (might be due to invalid IL or missing references)
18825 //IL_3955d: Unknown result type (might be due to invalid IL or missing references)
18826 //IL_39571: Unknown result type (might be due to invalid IL or missing references)
18827 //IL_39577: Unknown result type (might be due to invalid IL or missing references)
18828 //IL_3957c: Unknown result type (might be due to invalid IL or missing references)
18829 //IL_39581: Unknown result type (might be due to invalid IL or missing references)
18830 //IL_39595: Unknown result type (might be due to invalid IL or missing references)
18831 //IL_3959a: Unknown result type (might be due to invalid IL or missing references)
18832 //IL_3925c: Unknown result type (might be due to invalid IL or missing references)
18833 //IL_39158: Unknown result type (might be due to invalid IL or missing references)
18834 //IL_3917e: Unknown result type (might be due to invalid IL or missing references)
18835 //IL_39184: Unknown result type (might be due to invalid IL or missing references)
18836 //IL_39186: Unknown result type (might be due to invalid IL or missing references)
18837 //IL_3918b: Unknown result type (might be due to invalid IL or missing references)
18838 //IL_39191: Unknown result type (might be due to invalid IL or missing references)
18839 //IL_3919c: Unknown result type (might be due to invalid IL or missing references)
18840 //IL_391a1: Unknown result type (might be due to invalid IL or missing references)
18841 //IL_391ac: Unknown result type (might be due to invalid IL or missing references)
18842 //IL_391b1: Unknown result type (might be due to invalid IL or missing references)
18843 //IL_391c5: Unknown result type (might be due to invalid IL or missing references)
18844 //IL_391cb: Unknown result type (might be due to invalid IL or missing references)
18845 //IL_391d0: Unknown result type (might be due to invalid IL or missing references)
18846 //IL_391d5: Unknown result type (might be due to invalid IL or missing references)
18847 //IL_391e9: Unknown result type (might be due to invalid IL or missing references)
18848 //IL_391ee: Unknown result type (might be due to invalid IL or missing references)
18849 //IL_391f3: Unknown result type (might be due to invalid IL or missing references)
18850 //IL_391ff: Unknown result type (might be due to invalid IL or missing references)
18851 //IL_3920a: Unknown result type (might be due to invalid IL or missing references)
18852 //IL_39215: Unknown result type (might be due to invalid IL or missing references)
18853 //IL_39220: Unknown result type (might be due to invalid IL or missing references)
18854 //IL_390e3: Unknown result type (might be due to invalid IL or missing references)
18855 //IL_38fdf: Unknown result type (might be due to invalid IL or missing references)
18856 //IL_39005: Unknown result type (might be due to invalid IL or missing references)
18857 //IL_3900b: Unknown result type (might be due to invalid IL or missing references)
18858 //IL_3900d: Unknown result type (might be due to invalid IL or missing references)
18859 //IL_39012: Unknown result type (might be due to invalid IL or missing references)
18860 //IL_39018: Unknown result type (might be due to invalid IL or missing references)
18861 //IL_39023: Unknown result type (might be due to invalid IL or missing references)
18862 //IL_39028: Unknown result type (might be due to invalid IL or missing references)
18863 //IL_39033: Unknown result type (might be due to invalid IL or missing references)
18864 //IL_39038: Unknown result type (might be due to invalid IL or missing references)
18865 //IL_3904c: Unknown result type (might be due to invalid IL or missing references)
18866 //IL_39052: Unknown result type (might be due to invalid IL or missing references)
18867 //IL_39057: Unknown result type (might be due to invalid IL or missing references)
18868 //IL_3905c: Unknown result type (might be due to invalid IL or missing references)
18869 //IL_39070: Unknown result type (might be due to invalid IL or missing references)
18870 //IL_39075: Unknown result type (might be due to invalid IL or missing references)
18871 //IL_3907a: Unknown result type (might be due to invalid IL or missing references)
18872 //IL_39086: Unknown result type (might be due to invalid IL or missing references)
18873 //IL_39091: Unknown result type (might be due to invalid IL or missing references)
18874 //IL_3909c: Unknown result type (might be due to invalid IL or missing references)
18875 //IL_390a7: Unknown result type (might be due to invalid IL or missing references)
18876 //IL_4d96d: Unknown result type (might be due to invalid IL or missing references)
18877 //IL_4d972: Unknown result type (might be due to invalid IL or missing references)
18878 //IL_4d979: Unknown result type (might be due to invalid IL or missing references)
18879 //IL_4d97e: Unknown result type (might be due to invalid IL or missing references)
18880 //IL_4cc37: Unknown result type (might be due to invalid IL or missing references)
18881 //IL_4cc5a: Unknown result type (might be due to invalid IL or missing references)
18882 //IL_4c31f: Unknown result type (might be due to invalid IL or missing references)
18883 //IL_4c1e6: Unknown result type (might be due to invalid IL or missing references)
18884 //IL_4a668: Unknown result type (might be due to invalid IL or missing references)
18885 //IL_49138: Unknown result type (might be due to invalid IL or missing references)
18886 //IL_4913d: Unknown result type (might be due to invalid IL or missing references)
18887 //IL_4914e: Unknown result type (might be due to invalid IL or missing references)
18888 //IL_4915a: Unknown result type (might be due to invalid IL or missing references)
18889 //IL_4915f: Unknown result type (might be due to invalid IL or missing references)
18890 //IL_49167: Unknown result type (might be due to invalid IL or missing references)
18891 //IL_49178: Unknown result type (might be due to invalid IL or missing references)
18892 //IL_4917d: Unknown result type (might be due to invalid IL or missing references)
18893 //IL_49183: Unknown result type (might be due to invalid IL or missing references)
18894 //IL_4918e: Unknown result type (might be due to invalid IL or missing references)
18895 //IL_49193: Unknown result type (might be due to invalid IL or missing references)
18896 //IL_4900e: Unknown result type (might be due to invalid IL or missing references)
18897 //IL_49021: Unknown result type (might be due to invalid IL or missing references)
18898 //IL_4794f: Unknown result type (might be due to invalid IL or missing references)
18899 //IL_47956: Unknown result type (might be due to invalid IL or missing references)
18900 //IL_4795b: Unknown result type (might be due to invalid IL or missing references)
18901 //IL_47960: Unknown result type (might be due to invalid IL or missing references)
18902 //IL_47299: Unknown result type (might be due to invalid IL or missing references)
18903 //IL_47136: Unknown result type (might be due to invalid IL or missing references)
18904 //IL_4713c: Unknown result type (might be due to invalid IL or missing references)
18905 //IL_46f91: Unknown result type (might be due to invalid IL or missing references)
18906 //IL_46f9d: Unknown result type (might be due to invalid IL or missing references)
18907 //IL_46fa2: Unknown result type (might be due to invalid IL or missing references)
18908 //IL_46faa: Unknown result type (might be due to invalid IL or missing references)
18909 //IL_46fbb: Unknown result type (might be due to invalid IL or missing references)
18910 //IL_46fc0: Unknown result type (might be due to invalid IL or missing references)
18911 //IL_46fc6: Unknown result type (might be due to invalid IL or missing references)
18912 //IL_46fd1: Unknown result type (might be due to invalid IL or missing references)
18913 //IL_46fd6: Unknown result type (might be due to invalid IL or missing references)
18914 //IL_46ed1: Unknown result type (might be due to invalid IL or missing references)
18915 //IL_46ee7: Unknown result type (might be due to invalid IL or missing references)
18916 //IL_46c35: Unknown result type (might be due to invalid IL or missing references)
18917 //IL_46c3b: Unknown result type (might be due to invalid IL or missing references)
18918 //IL_46c40: Unknown result type (might be due to invalid IL or missing references)
18919 //IL_46c45: Unknown result type (might be due to invalid IL or missing references)
18920 //IL_466cd: Unknown result type (might be due to invalid IL or missing references)
18921 //IL_466d7: Unknown result type (might be due to invalid IL or missing references)
18922 //IL_466dc: Unknown result type (might be due to invalid IL or missing references)
18923 //IL_45ea2: Unknown result type (might be due to invalid IL or missing references)
18924 //IL_44d3f: Unknown result type (might be due to invalid IL or missing references)
18925 //IL_44d4a: Unknown result type (might be due to invalid IL or missing references)
18926 //IL_44d7b: Unknown result type (might be due to invalid IL or missing references)
18927 //IL_44d97: Unknown result type (might be due to invalid IL or missing references)
18928 //IL_43f4e: Unknown result type (might be due to invalid IL or missing references)
18929 //IL_43f61: Unknown result type (might be due to invalid IL or missing references)
18930 //IL_43eaa: Unknown result type (might be due to invalid IL or missing references)
18931 //IL_43ebd: Unknown result type (might be due to invalid IL or missing references)
18932 //IL_4190c: Unknown result type (might be due to invalid IL or missing references)
18933 //IL_41911: Unknown result type (might be due to invalid IL or missing references)
18934 //IL_41917: Unknown result type (might be due to invalid IL or missing references)
18935 //IL_41927: Unknown result type (might be due to invalid IL or missing references)
18936 //IL_41931: Unknown result type (might be due to invalid IL or missing references)
18937 //IL_41936: Unknown result type (might be due to invalid IL or missing references)
18938 //IL_4193b: Unknown result type (might be due to invalid IL or missing references)
18939 //IL_41941: Unknown result type (might be due to invalid IL or missing references)
18940 //IL_41947: Unknown result type (might be due to invalid IL or missing references)
18941 //IL_41951: Unknown result type (might be due to invalid IL or missing references)
18942 //IL_41956: Unknown result type (might be due to invalid IL or missing references)
18943 //IL_41994: Unknown result type (might be due to invalid IL or missing references)
18944 //IL_4199f: Unknown result type (might be due to invalid IL or missing references)
18945 //IL_419aa: Unknown result type (might be due to invalid IL or missing references)
18946 //IL_419b5: Unknown result type (might be due to invalid IL or missing references)
18947 //IL_41296: Unknown result type (might be due to invalid IL or missing references)
18948 //IL_412a1: Unknown result type (might be due to invalid IL or missing references)
18949 //IL_412a6: Unknown result type (might be due to invalid IL or missing references)
18950 //IL_412b3: Unknown result type (might be due to invalid IL or missing references)
18951 //IL_412bd: Unknown result type (might be due to invalid IL or missing references)
18952 //IL_412ca: Unknown result type (might be due to invalid IL or missing references)
18953 //IL_412d4: Unknown result type (might be due to invalid IL or missing references)
18954 //IL_412e0: Unknown result type (might be due to invalid IL or missing references)
18955 //IL_412eb: Unknown result type (might be due to invalid IL or missing references)
18956 //IL_41281: Unknown result type (might be due to invalid IL or missing references)
18957 //IL_4128b: Unknown result type (might be due to invalid IL or missing references)
18958 //IL_41290: Unknown result type (might be due to invalid IL or missing references)
18959 //IL_40005: Unknown result type (might be due to invalid IL or missing references)
18960 //IL_40016: Unknown result type (might be due to invalid IL or missing references)
18961 //IL_40020: Unknown result type (might be due to invalid IL or missing references)
18962 //IL_40025: Unknown result type (might be due to invalid IL or missing references)
18963 //IL_4002b: Unknown result type (might be due to invalid IL or missing references)
18964 //IL_40030: Unknown result type (might be due to invalid IL or missing references)
18965 //IL_40035: Unknown result type (might be due to invalid IL or missing references)
18966 //IL_4004a: Unknown result type (might be due to invalid IL or missing references)
18967 //IL_3fef9: Unknown result type (might be due to invalid IL or missing references)
18968 //IL_3feff: Unknown result type (might be due to invalid IL or missing references)
18969 //IL_3ff04: Unknown result type (might be due to invalid IL or missing references)
18970 //IL_3ff09: Unknown result type (might be due to invalid IL or missing references)
18971 //IL_3ff21: Unknown result type (might be due to invalid IL or missing references)
18972 //IL_3ff2b: Unknown result type (might be due to invalid IL or missing references)
18973 //IL_3ff38: Unknown result type (might be due to invalid IL or missing references)
18974 //IL_3ff42: Unknown result type (might be due to invalid IL or missing references)
18975 //IL_3ff4e: Unknown result type (might be due to invalid IL or missing references)
18976 //IL_3ff59: Unknown result type (might be due to invalid IL or missing references)
18977 //IL_3def4: Unknown result type (might be due to invalid IL or missing references)
18978 //IL_3def9: Unknown result type (might be due to invalid IL or missing references)
18979 //IL_3e672: Unknown result type (might be due to invalid IL or missing references)
18980 //IL_3e67d: Unknown result type (might be due to invalid IL or missing references)
18981 //IL_3e682: Unknown result type (might be due to invalid IL or missing references)
18982 //IL_396c0: Unknown result type (might be due to invalid IL or missing references)
18983 //IL_396c5: Unknown result type (might be due to invalid IL or missing references)
18984 //IL_396d9: Unknown result type (might be due to invalid IL or missing references)
18985 //IL_396df: Unknown result type (might be due to invalid IL or missing references)
18986 //IL_396e4: Unknown result type (might be due to invalid IL or missing references)
18987 //IL_396e9: Unknown result type (might be due to invalid IL or missing references)
18988 //IL_396fd: Unknown result type (might be due to invalid IL or missing references)
18989 //IL_39702: Unknown result type (might be due to invalid IL or missing references)
18990 //IL_39462: Unknown result type (might be due to invalid IL or missing references)
18991 //IL_39468: Unknown result type (might be due to invalid IL or missing references)
18992 //IL_394a2: Unknown result type (might be due to invalid IL or missing references)
18993 //IL_394c7: Unknown result type (might be due to invalid IL or missing references)
18994 //IL_394cd: Unknown result type (might be due to invalid IL or missing references)
18995 //IL_394cf: Unknown result type (might be due to invalid IL or missing references)
18996 //IL_394d4: Unknown result type (might be due to invalid IL or missing references)
18997 //IL_394f7: Unknown result type (might be due to invalid IL or missing references)
18998 //IL_39501: Unknown result type (might be due to invalid IL or missing references)
18999 //IL_39506: Unknown result type (might be due to invalid IL or missing references)
19000 //IL_393c3: Unknown result type (might be due to invalid IL or missing references)
19001 //IL_392bf: Unknown result type (might be due to invalid IL or missing references)
19002 //IL_392e5: Unknown result type (might be due to invalid IL or missing references)
19003 //IL_392eb: Unknown result type (might be due to invalid IL or missing references)
19004 //IL_392ed: Unknown result type (might be due to invalid IL or missing references)
19005 //IL_392f2: Unknown result type (might be due to invalid IL or missing references)
19006 //IL_392f8: Unknown result type (might be due to invalid IL or missing references)
19007 //IL_39303: Unknown result type (might be due to invalid IL or missing references)
19008 //IL_39308: Unknown result type (might be due to invalid IL or missing references)
19009 //IL_39313: Unknown result type (might be due to invalid IL or missing references)
19010 //IL_39318: Unknown result type (might be due to invalid IL or missing references)
19011 //IL_3932c: Unknown result type (might be due to invalid IL or missing references)
19012 //IL_39332: Unknown result type (might be due to invalid IL or missing references)
19013 //IL_39337: Unknown result type (might be due to invalid IL or missing references)
19014 //IL_3933c: Unknown result type (might be due to invalid IL or missing references)
19015 //IL_39350: Unknown result type (might be due to invalid IL or missing references)
19016 //IL_39355: Unknown result type (might be due to invalid IL or missing references)
19017 //IL_3935a: Unknown result type (might be due to invalid IL or missing references)
19018 //IL_39366: Unknown result type (might be due to invalid IL or missing references)
19019 //IL_39371: Unknown result type (might be due to invalid IL or missing references)
19020 //IL_3937c: Unknown result type (might be due to invalid IL or missing references)
19021 //IL_39387: Unknown result type (might be due to invalid IL or missing references)
19022 //IL_4dd9b: Unknown result type (might be due to invalid IL or missing references)
19023 //IL_4dd2c: Unknown result type (might be due to invalid IL or missing references)
19024 //IL_4dd31: Unknown result type (might be due to invalid IL or missing references)
19025 //IL_4dd38: Unknown result type (might be due to invalid IL or missing references)
19026 //IL_4dd3d: Unknown result type (might be due to invalid IL or missing references)
19027 //IL_4da17: Unknown result type (might be due to invalid IL or missing references)
19028 //IL_4cd08: Unknown result type (might be due to invalid IL or missing references)
19029 //IL_4cd0e: Unknown result type (might be due to invalid IL or missing references)
19030 //IL_4cd13: Unknown result type (might be due to invalid IL or missing references)
19031 //IL_4cd18: Unknown result type (might be due to invalid IL or missing references)
19032 //IL_4c653: Unknown result type (might be due to invalid IL or missing references)
19033 //IL_4c659: Unknown result type (might be due to invalid IL or missing references)
19034 //IL_4c525: Unknown result type (might be due to invalid IL or missing references)
19035 //IL_4c2f2: Unknown result type (might be due to invalid IL or missing references)
19036 //IL_4c300: Unknown result type (might be due to invalid IL or missing references)
19037 //IL_4c30f: Unknown result type (might be due to invalid IL or missing references)
19038 //IL_4c314: Unknown result type (might be due to invalid IL or missing references)
19039 //IL_4c319: Unknown result type (might be due to invalid IL or missing references)
19040 //IL_4c33d: Unknown result type (might be due to invalid IL or missing references)
19041 //IL_4c348: Unknown result type (might be due to invalid IL or missing references)
19042 //IL_4c352: Unknown result type (might be due to invalid IL or missing references)
19043 //IL_4c35d: Unknown result type (might be due to invalid IL or missing references)
19044 //IL_4c1b9: Unknown result type (might be due to invalid IL or missing references)
19045 //IL_4c1c7: Unknown result type (might be due to invalid IL or missing references)
19046 //IL_4c1d6: Unknown result type (might be due to invalid IL or missing references)
19047 //IL_4c1db: Unknown result type (might be due to invalid IL or missing references)
19048 //IL_4c1e0: Unknown result type (might be due to invalid IL or missing references)
19049 //IL_4c204: Unknown result type (might be due to invalid IL or missing references)
19050 //IL_4c20f: Unknown result type (might be due to invalid IL or missing references)
19051 //IL_4c219: Unknown result type (might be due to invalid IL or missing references)
19052 //IL_4c224: Unknown result type (might be due to invalid IL or missing references)
19053 //IL_4be98: Unknown result type (might be due to invalid IL or missing references)
19054 //IL_4beaf: Unknown result type (might be due to invalid IL or missing references)
19055 //IL_4bec3: Unknown result type (might be due to invalid IL or missing references)
19056 //IL_4bec8: Unknown result type (might be due to invalid IL or missing references)
19057 //IL_4becd: Unknown result type (might be due to invalid IL or missing references)
19058 //IL_4bed3: Unknown result type (might be due to invalid IL or missing references)
19059 //IL_4bed9: Unknown result type (might be due to invalid IL or missing references)
19060 //IL_4bee3: Unknown result type (might be due to invalid IL or missing references)
19061 //IL_4bee8: Unknown result type (might be due to invalid IL or missing references)
19062 //IL_4bf1c: Unknown result type (might be due to invalid IL or missing references)
19063 //IL_4bf22: Unknown result type (might be due to invalid IL or missing references)
19064 //IL_4bf52: Unknown result type (might be due to invalid IL or missing references)
19065 //IL_4bf5c: Unknown result type (might be due to invalid IL or missing references)
19066 //IL_4bf61: Unknown result type (might be due to invalid IL or missing references)
19067 //IL_4bf66: Unknown result type (might be due to invalid IL or missing references)
19068 //IL_4bf77: Unknown result type (might be due to invalid IL or missing references)
19069 //IL_4bf7d: Unknown result type (might be due to invalid IL or missing references)
19070 //IL_4bf83: Unknown result type (might be due to invalid IL or missing references)
19071 //IL_4bf88: Unknown result type (might be due to invalid IL or missing references)
19072 //IL_4bf92: Unknown result type (might be due to invalid IL or missing references)
19073 //IL_4bfaa: Unknown result type (might be due to invalid IL or missing references)
19074 //IL_4bfb4: Unknown result type (might be due to invalid IL or missing references)
19075 //IL_4bfb9: Unknown result type (might be due to invalid IL or missing references)
19076 //IL_4a7fb: Unknown result type (might be due to invalid IL or missing references)
19077 //IL_4a800: Unknown result type (might be due to invalid IL or missing references)
19078 //IL_4a806: Unknown result type (might be due to invalid IL or missing references)
19079 //IL_4a80b: Unknown result type (might be due to invalid IL or missing references)
19080 //IL_4a810: Unknown result type (might be due to invalid IL or missing references)
19081 //IL_4a82e: Unknown result type (might be due to invalid IL or missing references)
19082 //IL_4a839: Unknown result type (might be due to invalid IL or missing references)
19083 //IL_491dc: Unknown result type (might be due to invalid IL or missing references)
19084 //IL_491ef: Unknown result type (might be due to invalid IL or missing references)
19085 //IL_490c2: Unknown result type (might be due to invalid IL or missing references)
19086 //IL_490c8: Unknown result type (might be due to invalid IL or missing references)
19087 //IL_490cd: Unknown result type (might be due to invalid IL or missing references)
19088 //IL_490d2: Unknown result type (might be due to invalid IL or missing references)
19089 //IL_4910c: Unknown result type (might be due to invalid IL or missing references)
19090 //IL_49117: Unknown result type (might be due to invalid IL or missing references)
19091 //IL_4911c: Unknown result type (might be due to invalid IL or missing references)
19092 //IL_48689: Unknown result type (might be due to invalid IL or missing references)
19093 //IL_4868f: Unknown result type (might be due to invalid IL or missing references)
19094 //IL_48694: Unknown result type (might be due to invalid IL or missing references)
19095 //IL_48699: Unknown result type (might be due to invalid IL or missing references)
19096 //IL_486d9: Unknown result type (might be due to invalid IL or missing references)
19097 //IL_486e5: Unknown result type (might be due to invalid IL or missing references)
19098 //IL_486ea: Unknown result type (might be due to invalid IL or missing references)
19099 //IL_486f2: Unknown result type (might be due to invalid IL or missing references)
19100 //IL_48703: Unknown result type (might be due to invalid IL or missing references)
19101 //IL_48708: Unknown result type (might be due to invalid IL or missing references)
19102 //IL_4870e: Unknown result type (might be due to invalid IL or missing references)
19103 //IL_48719: Unknown result type (might be due to invalid IL or missing references)
19104 //IL_4871e: Unknown result type (might be due to invalid IL or missing references)
19105 //IL_48316: Unknown result type (might be due to invalid IL or missing references)
19106 //IL_48322: Unknown result type (might be due to invalid IL or missing references)
19107 //IL_48327: Unknown result type (might be due to invalid IL or missing references)
19108 //IL_4832f: Unknown result type (might be due to invalid IL or missing references)
19109 //IL_48340: Unknown result type (might be due to invalid IL or missing references)
19110 //IL_48345: Unknown result type (might be due to invalid IL or missing references)
19111 //IL_4834b: Unknown result type (might be due to invalid IL or missing references)
19112 //IL_48356: Unknown result type (might be due to invalid IL or missing references)
19113 //IL_4835b: Unknown result type (might be due to invalid IL or missing references)
19114 //IL_47793: Unknown result type (might be due to invalid IL or missing references)
19115 //IL_4779a: Unknown result type (might be due to invalid IL or missing references)
19116 //IL_4779f: Unknown result type (might be due to invalid IL or missing references)
19117 //IL_477a4: Unknown result type (might be due to invalid IL or missing references)
19118 //IL_4740c: Unknown result type (might be due to invalid IL or missing references)
19119 //IL_4742c: Unknown result type (might be due to invalid IL or missing references)
19120 //IL_472f7: Unknown result type (might be due to invalid IL or missing references)
19121 //IL_4730d: Unknown result type (might be due to invalid IL or missing references)
19122 //IL_46eff: Unknown result type (might be due to invalid IL or missing references)
19123 //IL_46f15: Unknown result type (might be due to invalid IL or missing references)
19124 //IL_46cdb: Unknown result type (might be due to invalid IL or missing references)
19125 //IL_46ce7: Unknown result type (might be due to invalid IL or missing references)
19126 //IL_46cec: Unknown result type (might be due to invalid IL or missing references)
19127 //IL_46cf4: Unknown result type (might be due to invalid IL or missing references)
19128 //IL_46d05: Unknown result type (might be due to invalid IL or missing references)
19129 //IL_46d0a: Unknown result type (might be due to invalid IL or missing references)
19130 //IL_46d10: Unknown result type (might be due to invalid IL or missing references)
19131 //IL_46d1b: Unknown result type (might be due to invalid IL or missing references)
19132 //IL_46d20: Unknown result type (might be due to invalid IL or missing references)
19133 //IL_45ef7: Unknown result type (might be due to invalid IL or missing references)
19134 //IL_4143c: Unknown result type (might be due to invalid IL or missing references)
19135 //IL_41442: Unknown result type (might be due to invalid IL or missing references)
19136 //IL_41447: Unknown result type (might be due to invalid IL or missing references)
19137 //IL_4144c: Unknown result type (might be due to invalid IL or missing references)
19138 //IL_39829: Unknown result type (might be due to invalid IL or missing references)
19139 //IL_3983d: Unknown result type (might be due to invalid IL or missing references)
19140 //IL_39843: Unknown result type (might be due to invalid IL or missing references)
19141 //IL_39848: Unknown result type (might be due to invalid IL or missing references)
19142 //IL_3984d: Unknown result type (might be due to invalid IL or missing references)
19143 //IL_39861: Unknown result type (might be due to invalid IL or missing references)
19144 //IL_39866: Unknown result type (might be due to invalid IL or missing references)
19145 //IL_395c6: Unknown result type (might be due to invalid IL or missing references)
19146 //IL_395cc: Unknown result type (might be due to invalid IL or missing references)
19147 //IL_39600: Unknown result type (might be due to invalid IL or missing references)
19148 //IL_39625: Unknown result type (might be due to invalid IL or missing references)
19149 //IL_3962b: Unknown result type (might be due to invalid IL or missing references)
19150 //IL_3962d: Unknown result type (might be due to invalid IL or missing references)
19151 //IL_39632: Unknown result type (might be due to invalid IL or missing references)
19152 //IL_39655: Unknown result type (might be due to invalid IL or missing references)
19153 //IL_3965f: Unknown result type (might be due to invalid IL or missing references)
19154 //IL_39664: Unknown result type (might be due to invalid IL or missing references)
19155 //IL_4cd4c: Unknown result type (might be due to invalid IL or missing references)
19156 //IL_4c69e: Unknown result type (might be due to invalid IL or missing references)
19157 //IL_4c6ac: Unknown result type (might be due to invalid IL or missing references)
19158 //IL_4c6b1: Unknown result type (might be due to invalid IL or missing references)
19159 //IL_4c6b7: Unknown result type (might be due to invalid IL or missing references)
19160 //IL_4c6c3: Unknown result type (might be due to invalid IL or missing references)
19161 //IL_4c6c8: Unknown result type (might be due to invalid IL or missing references)
19162 //IL_4c67d: Unknown result type (might be due to invalid IL or missing references)
19163 //IL_4c689: Unknown result type (might be due to invalid IL or missing references)
19164 //IL_4c68e: Unknown result type (might be due to invalid IL or missing references)
19165 //IL_4c6d1: Unknown result type (might be due to invalid IL or missing references)
19166 //IL_4c6db: Unknown result type (might be due to invalid IL or missing references)
19167 //IL_4c6e0: Unknown result type (might be due to invalid IL or missing references)
19168 //IL_4a855: Unknown result type (might be due to invalid IL or missing references)
19169 //IL_4a860: Unknown result type (might be due to invalid IL or missing references)
19170 //IL_48818: Unknown result type (might be due to invalid IL or missing references)
19171 //IL_48822: Unknown result type (might be due to invalid IL or missing references)
19172 //IL_48827: Unknown result type (might be due to invalid IL or missing references)
19173 //IL_484d9: Unknown result type (might be due to invalid IL or missing references)
19174 //IL_484df: Unknown result type (might be due to invalid IL or missing references)
19175 //IL_484e4: Unknown result type (might be due to invalid IL or missing references)
19176 //IL_484e9: Unknown result type (might be due to invalid IL or missing references)
19177 //IL_48376: Unknown result type (might be due to invalid IL or missing references)
19178 //IL_48380: Unknown result type (might be due to invalid IL or missing references)
19179 //IL_48385: Unknown result type (might be due to invalid IL or missing references)
19180 //IL_47b35: Unknown result type (might be due to invalid IL or missing references)
19181 //IL_47b46: Unknown result type (might be due to invalid IL or missing references)
19182 //IL_47b4b: Unknown result type (might be due to invalid IL or missing references)
19183 //IL_47b51: Unknown result type (might be due to invalid IL or missing references)
19184 //IL_47b5c: Unknown result type (might be due to invalid IL or missing references)
19185 //IL_47b61: Unknown result type (might be due to invalid IL or missing references)
19186 //IL_47b1c: Unknown result type (might be due to invalid IL or missing references)
19187 //IL_47b28: Unknown result type (might be due to invalid IL or missing references)
19188 //IL_47b2d: Unknown result type (might be due to invalid IL or missing references)
19189 //IL_45f4c: Unknown result type (might be due to invalid IL or missing references)
19190 //IL_41baa: Unknown result type (might be due to invalid IL or missing references)
19191 //IL_41bc1: Unknown result type (might be due to invalid IL or missing references)
19192 //IL_41bc6: Unknown result type (might be due to invalid IL or missing references)
19193 //IL_41bcc: Unknown result type (might be due to invalid IL or missing references)
19194 //IL_41bd6: Unknown result type (might be due to invalid IL or missing references)
19195 //IL_41bdb: Unknown result type (might be due to invalid IL or missing references)
19196 //IL_41be0: Unknown result type (might be due to invalid IL or missing references)
19197 //IL_41be6: Unknown result type (might be due to invalid IL or missing references)
19198 //IL_41bec: Unknown result type (might be due to invalid IL or missing references)
19199 //IL_41bf6: Unknown result type (might be due to invalid IL or missing references)
19200 //IL_41bfb: Unknown result type (might be due to invalid IL or missing references)
19201 //IL_41c2f: Unknown result type (might be due to invalid IL or missing references)
19202 //IL_41c35: Unknown result type (might be due to invalid IL or missing references)
19203 //IL_41c53: Unknown result type (might be due to invalid IL or missing references)
19204 //IL_41c59: Unknown result type (might be due to invalid IL or missing references)
19205 //IL_41c5f: Unknown result type (might be due to invalid IL or missing references)
19206 //IL_41c64: Unknown result type (might be due to invalid IL or missing references)
19207 //IL_41c6e: Unknown result type (might be due to invalid IL or missing references)
19208 //IL_41c86: Unknown result type (might be due to invalid IL or missing references)
19209 //IL_41c90: Unknown result type (might be due to invalid IL or missing references)
19210 //IL_41c95: Unknown result type (might be due to invalid IL or missing references)
19211 //IL_415ec: Unknown result type (might be due to invalid IL or missing references)
19212 //IL_415f2: Unknown result type (might be due to invalid IL or missing references)
19213 //IL_40106: Unknown result type (might be due to invalid IL or missing references)
19214 //IL_40113: Unknown result type (might be due to invalid IL or missing references)
19215 //IL_40118: Unknown result type (might be due to invalid IL or missing references)
19216 //IL_40122: Unknown result type (might be due to invalid IL or missing references)
19217 //IL_40127: Unknown result type (might be due to invalid IL or missing references)
19218 //IL_40129: Unknown result type (might be due to invalid IL or missing references)
19219 //IL_4012e: Unknown result type (might be due to invalid IL or missing references)
19220 //IL_40134: Unknown result type (might be due to invalid IL or missing references)
19221 //IL_4013a: Unknown result type (might be due to invalid IL or missing references)
19222 //IL_40144: Unknown result type (might be due to invalid IL or missing references)
19223 //IL_40149: Unknown result type (might be due to invalid IL or missing references)
19224 //IL_40156: Unknown result type (might be due to invalid IL or missing references)
19225 //IL_40160: Unknown result type (might be due to invalid IL or missing references)
19226 //IL_4016d: Unknown result type (might be due to invalid IL or missing references)
19227 //IL_40177: Unknown result type (might be due to invalid IL or missing references)
19228 //IL_40183: Unknown result type (might be due to invalid IL or missing references)
19229 //IL_4018e: Unknown result type (might be due to invalid IL or missing references)
19230 //IL_3d6c8: Unknown result type (might be due to invalid IL or missing references)
19231 //IL_3d6ce: Unknown result type (might be due to invalid IL or missing references)
19232 //IL_3972e: Unknown result type (might be due to invalid IL or missing references)
19233 //IL_39734: Unknown result type (might be due to invalid IL or missing references)
19234 //IL_3976e: Unknown result type (might be due to invalid IL or missing references)
19235 //IL_39793: Unknown result type (might be due to invalid IL or missing references)
19236 //IL_39799: Unknown result type (might be due to invalid IL or missing references)
19237 //IL_3979b: Unknown result type (might be due to invalid IL or missing references)
19238 //IL_397a0: Unknown result type (might be due to invalid IL or missing references)
19239 //IL_397c3: Unknown result type (might be due to invalid IL or missing references)
19240 //IL_397cd: Unknown result type (might be due to invalid IL or missing references)
19241 //IL_397d2: Unknown result type (might be due to invalid IL or missing references)
19242 //IL_4fd24: Unknown result type (might be due to invalid IL or missing references)
19243 //IL_4fd29: Unknown result type (might be due to invalid IL or missing references)
19244 //IL_4fd2e: Unknown result type (might be due to invalid IL or missing references)
19245 //IL_4fd34: Unknown result type (might be due to invalid IL or missing references)
19246 //IL_4d052: Unknown result type (might be due to invalid IL or missing references)
19247 //IL_4d068: Unknown result type (might be due to invalid IL or missing references)
19248 //IL_4c543: Unknown result type (might be due to invalid IL or missing references)
19249 //IL_4c566: Unknown result type (might be due to invalid IL or missing references)
19250 //IL_4c56c: Unknown result type (might be due to invalid IL or missing references)
19251 //IL_4c59c: Unknown result type (might be due to invalid IL or missing references)
19252 //IL_4c5a6: Unknown result type (might be due to invalid IL or missing references)
19253 //IL_4c5ab: Unknown result type (might be due to invalid IL or missing references)
19254 //IL_4a87b: Unknown result type (might be due to invalid IL or missing references)
19255 //IL_49be2: Unknown result type (might be due to invalid IL or missing references)
19256 //IL_49bed: Unknown result type (might be due to invalid IL or missing references)
19257 //IL_49234: Unknown result type (might be due to invalid IL or missing references)
19258 //IL_49243: Unknown result type (might be due to invalid IL or missing references)
19259 //IL_49248: Unknown result type (might be due to invalid IL or missing references)
19260 //IL_48875: Unknown result type (might be due to invalid IL or missing references)
19261 //IL_485a4: Unknown result type (might be due to invalid IL or missing references)
19262 //IL_485b0: Unknown result type (might be due to invalid IL or missing references)
19263 //IL_485b5: Unknown result type (might be due to invalid IL or missing references)
19264 //IL_485bd: Unknown result type (might be due to invalid IL or missing references)
19265 //IL_485ce: Unknown result type (might be due to invalid IL or missing references)
19266 //IL_485d3: Unknown result type (might be due to invalid IL or missing references)
19267 //IL_485d9: Unknown result type (might be due to invalid IL or missing references)
19268 //IL_485e4: Unknown result type (might be due to invalid IL or missing references)
19269 //IL_485e9: Unknown result type (might be due to invalid IL or missing references)
19270 //IL_48502: Unknown result type (might be due to invalid IL or missing references)
19271 //IL_483a0: Unknown result type (might be due to invalid IL or missing references)
19272 //IL_483aa: Unknown result type (might be due to invalid IL or missing references)
19273 //IL_483af: Unknown result type (might be due to invalid IL or missing references)
19274 //IL_47b89: Unknown result type (might be due to invalid IL or missing references)
19275 //IL_47b94: Unknown result type (might be due to invalid IL or missing references)
19276 //IL_47b99: Unknown result type (might be due to invalid IL or missing references)
19277 //IL_47810: Unknown result type (might be due to invalid IL or missing references)
19278 //IL_47816: Unknown result type (might be due to invalid IL or missing references)
19279 //IL_4781b: Unknown result type (might be due to invalid IL or missing references)
19280 //IL_47820: Unknown result type (might be due to invalid IL or missing references)
19281 //IL_47826: Unknown result type (might be due to invalid IL or missing references)
19282 //IL_47832: Unknown result type (might be due to invalid IL or missing references)
19283 //IL_47837: Unknown result type (might be due to invalid IL or missing references)
19284 //IL_4783f: Unknown result type (might be due to invalid IL or missing references)
19285 //IL_47850: Unknown result type (might be due to invalid IL or missing references)
19286 //IL_47855: Unknown result type (might be due to invalid IL or missing references)
19287 //IL_4785b: Unknown result type (might be due to invalid IL or missing references)
19288 //IL_47866: Unknown result type (might be due to invalid IL or missing references)
19289 //IL_4786b: Unknown result type (might be due to invalid IL or missing references)
19290 //IL_46d5a: Unknown result type (might be due to invalid IL or missing references)
19291 //IL_46d6d: Unknown result type (might be due to invalid IL or missing references)
19292 //IL_45f78: Unknown result type (might be due to invalid IL or missing references)
19293 //IL_45f8b: Unknown result type (might be due to invalid IL or missing references)
19294 //IL_39892: Unknown result type (might be due to invalid IL or missing references)
19295 //IL_39898: Unknown result type (might be due to invalid IL or missing references)
19296 //IL_398cc: Unknown result type (might be due to invalid IL or missing references)
19297 //IL_398f1: Unknown result type (might be due to invalid IL or missing references)
19298 //IL_398f7: Unknown result type (might be due to invalid IL or missing references)
19299 //IL_398f9: Unknown result type (might be due to invalid IL or missing references)
19300 //IL_398fe: Unknown result type (might be due to invalid IL or missing references)
19301 //IL_39921: Unknown result type (might be due to invalid IL or missing references)
19302 //IL_3992b: Unknown result type (might be due to invalid IL or missing references)
19303 //IL_39930: Unknown result type (might be due to invalid IL or missing references)
19304 //IL_4f48c: Unknown result type (might be due to invalid IL or missing references)
19305 //IL_4f4a1: Unknown result type (might be due to invalid IL or missing references)
19306 //IL_4e286: Unknown result type (might be due to invalid IL or missing references)
19307 //IL_4e28b: Unknown result type (might be due to invalid IL or missing references)
19308 //IL_4e2af: Unknown result type (might be due to invalid IL or missing references)
19309 //IL_4d091: Unknown result type (might be due to invalid IL or missing references)
19310 //IL_4d0a4: Unknown result type (might be due to invalid IL or missing references)
19311 //IL_4a9d6: Unknown result type (might be due to invalid IL or missing references)
19312 //IL_4a900: Unknown result type (might be due to invalid IL or missing references)
19313 //IL_4a8b1: Unknown result type (might be due to invalid IL or missing references)
19314 //IL_4a8bc: Unknown result type (might be due to invalid IL or missing references)
19315 //IL_49f4c: Unknown result type (might be due to invalid IL or missing references)
19316 //IL_49f72: Unknown result type (might be due to invalid IL or missing references)
19317 //IL_49f78: Unknown result type (might be due to invalid IL or missing references)
19318 //IL_49f92: Unknown result type (might be due to invalid IL or missing references)
19319 //IL_49f97: Unknown result type (might be due to invalid IL or missing references)
19320 //IL_49fa5: Unknown result type (might be due to invalid IL or missing references)
19321 //IL_49fc4: Unknown result type (might be due to invalid IL or missing references)
19322 //IL_49fc9: Unknown result type (might be due to invalid IL or missing references)
19323 //IL_49fd3: Unknown result type (might be due to invalid IL or missing references)
19324 //IL_49fee: Unknown result type (might be due to invalid IL or missing references)
19325 //IL_49ff3: Unknown result type (might be due to invalid IL or missing references)
19326 //IL_49ff8: Unknown result type (might be due to invalid IL or missing references)
19327 //IL_49275: Unknown result type (might be due to invalid IL or missing references)
19328 //IL_4927a: Unknown result type (might be due to invalid IL or missing references)
19329 //IL_49292: Unknown result type (might be due to invalid IL or missing references)
19330 //IL_492a2: Unknown result type (might be due to invalid IL or missing references)
19331 //IL_492a9: Unknown result type (might be due to invalid IL or missing references)
19332 //IL_4877e: Unknown result type (might be due to invalid IL or missing references)
19333 //IL_48784: Unknown result type (might be due to invalid IL or missing references)
19334 //IL_47893: Unknown result type (might be due to invalid IL or missing references)
19335 //IL_4789e: Unknown result type (might be due to invalid IL or missing references)
19336 //IL_478a3: Unknown result type (might be due to invalid IL or missing references)
19337 //IL_4678d: Unknown result type (might be due to invalid IL or missing references)
19338 //IL_467a0: Unknown result type (might be due to invalid IL or missing references)
19339 //IL_505ec: Unknown result type (might be due to invalid IL or missing references)
19340 //IL_4fdbf: Unknown result type (might be due to invalid IL or missing references)
19341 //IL_4fdc4: Unknown result type (might be due to invalid IL or missing references)
19342 //IL_4fdc9: Unknown result type (might be due to invalid IL or missing references)
19343 //IL_4f4bf: Unknown result type (might be due to invalid IL or missing references)
19344 //IL_4f4ca: Unknown result type (might be due to invalid IL or missing references)
19345 //IL_4f4cf: Unknown result type (might be due to invalid IL or missing references)
19346 //IL_4f420: Unknown result type (might be due to invalid IL or missing references)
19347 //IL_4f42b: Unknown result type (might be due to invalid IL or missing references)
19348 //IL_4e8d5: Unknown result type (might be due to invalid IL or missing references)
19349 //IL_4e8db: Unknown result type (might be due to invalid IL or missing references)
19350 //IL_4e8e0: Unknown result type (might be due to invalid IL or missing references)
19351 //IL_4e8e5: Unknown result type (might be due to invalid IL or missing references)
19352 //IL_4e8eb: Unknown result type (might be due to invalid IL or missing references)
19353 //IL_4e8fa: Unknown result type (might be due to invalid IL or missing references)
19354 //IL_4e8ff: Unknown result type (might be due to invalid IL or missing references)
19355 //IL_4e904: Unknown result type (might be due to invalid IL or missing references)
19356 //IL_4e90b: Unknown result type (might be due to invalid IL or missing references)
19357 //IL_4e910: Unknown result type (might be due to invalid IL or missing references)
19358 //IL_4e93a: Unknown result type (might be due to invalid IL or missing references)
19359 //IL_4e944: Unknown result type (might be due to invalid IL or missing references)
19360 //IL_4e949: Unknown result type (might be due to invalid IL or missing references)
19361 //IL_4e2e2: Unknown result type (might be due to invalid IL or missing references)
19362 //IL_4e2f0: Unknown result type (might be due to invalid IL or missing references)
19363 //IL_4e2f5: Unknown result type (might be due to invalid IL or missing references)
19364 //IL_4e301: Unknown result type (might be due to invalid IL or missing references)
19365 //IL_4e306: Unknown result type (might be due to invalid IL or missing references)
19366 //IL_4e311: Unknown result type (might be due to invalid IL or missing references)
19367 //IL_4e316: Unknown result type (might be due to invalid IL or missing references)
19368 //IL_4e32c: Unknown result type (might be due to invalid IL or missing references)
19369 //IL_4e332: Unknown result type (might be due to invalid IL or missing references)
19370 //IL_4e358: Unknown result type (might be due to invalid IL or missing references)
19371 //IL_4e35d: Unknown result type (might be due to invalid IL or missing references)
19372 //IL_4e372: Unknown result type (might be due to invalid IL or missing references)
19373 //IL_4e37d: Unknown result type (might be due to invalid IL or missing references)
19374 //IL_4e382: Unknown result type (might be due to invalid IL or missing references)
19375 //IL_4e387: Unknown result type (might be due to invalid IL or missing references)
19376 //IL_4e392: Unknown result type (might be due to invalid IL or missing references)
19377 //IL_4e3a3: Unknown result type (might be due to invalid IL or missing references)
19378 //IL_4e3a9: Unknown result type (might be due to invalid IL or missing references)
19379 //IL_4e3ab: Unknown result type (might be due to invalid IL or missing references)
19380 //IL_4e3b5: Unknown result type (might be due to invalid IL or missing references)
19381 //IL_4e3ba: Unknown result type (might be due to invalid IL or missing references)
19382 //IL_4de10: Unknown result type (might be due to invalid IL or missing references)
19383 //IL_4de4c: Unknown result type (might be due to invalid IL or missing references)
19384 //IL_4de52: Unknown result type (might be due to invalid IL or missing references)
19385 //IL_4deaa: Unknown result type (might be due to invalid IL or missing references)
19386 //IL_4deb4: Unknown result type (might be due to invalid IL or missing references)
19387 //IL_4deb9: Unknown result type (might be due to invalid IL or missing references)
19388 //IL_4da66: Unknown result type (might be due to invalid IL or missing references)
19389 //IL_4da9e: Unknown result type (might be due to invalid IL or missing references)
19390 //IL_4daa4: Unknown result type (might be due to invalid IL or missing references)
19391 //IL_4dafc: Unknown result type (might be due to invalid IL or missing references)
19392 //IL_4db06: Unknown result type (might be due to invalid IL or missing references)
19393 //IL_4db0b: Unknown result type (might be due to invalid IL or missing references)
19394 //IL_4d272: Unknown result type (might be due to invalid IL or missing references)
19395 //IL_4d27d: Unknown result type (might be due to invalid IL or missing references)
19396 //IL_4cde7: Unknown result type (might be due to invalid IL or missing references)
19397 //IL_4cdf3: Unknown result type (might be due to invalid IL or missing references)
19398 //IL_4cdf8: Unknown result type (might be due to invalid IL or missing references)
19399 //IL_4ce0b: Unknown result type (might be due to invalid IL or missing references)
19400 //IL_4ce1c: Unknown result type (might be due to invalid IL or missing references)
19401 //IL_4ce21: Unknown result type (might be due to invalid IL or missing references)
19402 //IL_4ce27: Unknown result type (might be due to invalid IL or missing references)
19403 //IL_4ce32: Unknown result type (might be due to invalid IL or missing references)
19404 //IL_4ce37: Unknown result type (might be due to invalid IL or missing references)
19405 //IL_4c716: Unknown result type (might be due to invalid IL or missing references)
19406 //IL_4a93f: Unknown result type (might be due to invalid IL or missing references)
19407 //IL_4a55c: Unknown result type (might be due to invalid IL or missing references)
19408 //IL_4a467: Unknown result type (might be due to invalid IL or missing references)
19409 //IL_4a48c: Unknown result type (might be due to invalid IL or missing references)
19410 //IL_4a492: Unknown result type (might be due to invalid IL or missing references)
19411 //IL_4a4ac: Unknown result type (might be due to invalid IL or missing references)
19412 //IL_4a4b1: Unknown result type (might be due to invalid IL or missing references)
19413 //IL_4a4bf: Unknown result type (might be due to invalid IL or missing references)
19414 //IL_4a4d6: Unknown result type (might be due to invalid IL or missing references)
19415 //IL_4a4db: Unknown result type (might be due to invalid IL or missing references)
19416 //IL_4a4f6: Unknown result type (might be due to invalid IL or missing references)
19417 //IL_4a4fb: Unknown result type (might be due to invalid IL or missing references)
19418 //IL_4a500: Unknown result type (might be due to invalid IL or missing references)
19419 //IL_4a0f2: Unknown result type (might be due to invalid IL or missing references)
19420 //IL_4a118: Unknown result type (might be due to invalid IL or missing references)
19421 //IL_4a11d: Unknown result type (might be due to invalid IL or missing references)
19422 //IL_4a153: Unknown result type (might be due to invalid IL or missing references)
19423 //IL_4a159: Unknown result type (might be due to invalid IL or missing references)
19424 //IL_49326: Unknown result type (might be due to invalid IL or missing references)
19425 //IL_4932b: Unknown result type (might be due to invalid IL or missing references)
19426 //IL_49343: Unknown result type (might be due to invalid IL or missing references)
19427 //IL_49353: Unknown result type (might be due to invalid IL or missing references)
19428 //IL_4935a: Unknown result type (might be due to invalid IL or missing references)
19429 //IL_492b9: Unknown result type (might be due to invalid IL or missing references)
19430 //IL_492c0: Unknown result type (might be due to invalid IL or missing references)
19431 //IL_47636: Unknown result type (might be due to invalid IL or missing references)
19432 //IL_47647: Unknown result type (might be due to invalid IL or missing references)
19433 //IL_4764c: Unknown result type (might be due to invalid IL or missing references)
19434 //IL_47651: Unknown result type (might be due to invalid IL or missing references)
19435 //IL_5135b: Unknown result type (might be due to invalid IL or missing references)
19436 //IL_4e3fa: Unknown result type (might be due to invalid IL or missing references)
19437 //IL_4e408: Unknown result type (might be due to invalid IL or missing references)
19438 //IL_4e40d: Unknown result type (might be due to invalid IL or missing references)
19439 //IL_4e419: Unknown result type (might be due to invalid IL or missing references)
19440 //IL_4e41e: Unknown result type (might be due to invalid IL or missing references)
19441 //IL_4e429: Unknown result type (might be due to invalid IL or missing references)
19442 //IL_4e42e: Unknown result type (might be due to invalid IL or missing references)
19443 //IL_4e447: Unknown result type (might be due to invalid IL or missing references)
19444 //IL_4e44d: Unknown result type (might be due to invalid IL or missing references)
19445 //IL_4e473: Unknown result type (might be due to invalid IL or missing references)
19446 //IL_4e478: Unknown result type (might be due to invalid IL or missing references)
19447 //IL_4e483: Unknown result type (might be due to invalid IL or missing references)
19448 //IL_4e48e: Unknown result type (might be due to invalid IL or missing references)
19449 //IL_4e493: Unknown result type (might be due to invalid IL or missing references)
19450 //IL_4e498: Unknown result type (might be due to invalid IL or missing references)
19451 //IL_4e4a3: Unknown result type (might be due to invalid IL or missing references)
19452 //IL_4e4b4: Unknown result type (might be due to invalid IL or missing references)
19453 //IL_4e4ba: Unknown result type (might be due to invalid IL or missing references)
19454 //IL_4e4bc: Unknown result type (might be due to invalid IL or missing references)
19455 //IL_4e4c6: Unknown result type (might be due to invalid IL or missing references)
19456 //IL_4e4cb: Unknown result type (might be due to invalid IL or missing references)
19457 //IL_4df23: Unknown result type (might be due to invalid IL or missing references)
19458 //IL_4df5f: Unknown result type (might be due to invalid IL or missing references)
19459 //IL_4df65: Unknown result type (might be due to invalid IL or missing references)
19460 //IL_4dfa7: Unknown result type (might be due to invalid IL or missing references)
19461 //IL_4dfb1: Unknown result type (might be due to invalid IL or missing references)
19462 //IL_4dfb6: Unknown result type (might be due to invalid IL or missing references)
19463 //IL_4db5d: Unknown result type (might be due to invalid IL or missing references)
19464 //IL_4db95: Unknown result type (might be due to invalid IL or missing references)
19465 //IL_4db9b: Unknown result type (might be due to invalid IL or missing references)
19466 //IL_4dbdd: Unknown result type (might be due to invalid IL or missing references)
19467 //IL_4dbe7: Unknown result type (might be due to invalid IL or missing references)
19468 //IL_4dbec: Unknown result type (might be due to invalid IL or missing references)
19469 //IL_4d29e: Unknown result type (might be due to invalid IL or missing references)
19470 //IL_4d2a9: Unknown result type (might be due to invalid IL or missing references)
19471 //IL_4c95b: Unknown result type (might be due to invalid IL or missing references)
19472 //IL_4c960: Unknown result type (might be due to invalid IL or missing references)
19473 //IL_4c965: Unknown result type (might be due to invalid IL or missing references)
19474 //IL_4c977: Unknown result type (might be due to invalid IL or missing references)
19475 //IL_4c97c: Unknown result type (might be due to invalid IL or missing references)
19476 //IL_4c981: Unknown result type (might be due to invalid IL or missing references)
19477 //IL_4c987: Unknown result type (might be due to invalid IL or missing references)
19478 //IL_4c98c: Unknown result type (might be due to invalid IL or missing references)
19479 //IL_4c999: Unknown result type (might be due to invalid IL or missing references)
19480 //IL_4c9a4: Unknown result type (might be due to invalid IL or missing references)
19481 //IL_4aa90: Unknown result type (might be due to invalid IL or missing references)
19482 //IL_4aab5: Unknown result type (might be due to invalid IL or missing references)
19483 //IL_4aabb: Unknown result type (might be due to invalid IL or missing references)
19484 //IL_4aad5: Unknown result type (might be due to invalid IL or missing references)
19485 //IL_4aada: Unknown result type (might be due to invalid IL or missing references)
19486 //IL_4aae8: Unknown result type (might be due to invalid IL or missing references)
19487 //IL_4aaff: Unknown result type (might be due to invalid IL or missing references)
19488 //IL_4ab04: Unknown result type (might be due to invalid IL or missing references)
19489 //IL_4ab1f: Unknown result type (might be due to invalid IL or missing references)
19490 //IL_4ab24: Unknown result type (might be due to invalid IL or missing references)
19491 //IL_4ab29: Unknown result type (might be due to invalid IL or missing references)
19492 //IL_4a97e: Unknown result type (might be due to invalid IL or missing references)
19493 //IL_4a989: Unknown result type (might be due to invalid IL or missing references)
19494 //IL_4a271: Unknown result type (might be due to invalid IL or missing references)
19495 //IL_4a276: Unknown result type (might be due to invalid IL or missing references)
19496 //IL_4a284: Unknown result type (might be due to invalid IL or missing references)
19497 //IL_4a297: Unknown result type (might be due to invalid IL or missing references)
19498 //IL_4a29c: Unknown result type (might be due to invalid IL or missing references)
19499 //IL_4a2a6: Unknown result type (might be due to invalid IL or missing references)
19500 //IL_4a2b5: Unknown result type (might be due to invalid IL or missing references)
19501 //IL_4a2ba: Unknown result type (might be due to invalid IL or missing references)
19502 //IL_4a2bf: Unknown result type (might be due to invalid IL or missing references)
19503 //IL_49378: Unknown result type (might be due to invalid IL or missing references)
19504 //IL_4937f: Unknown result type (might be due to invalid IL or missing references)
19505 //IL_492db: Unknown result type (might be due to invalid IL or missing references)
19506 //IL_492e2: Unknown result type (might be due to invalid IL or missing references)
19507 //IL_47ad9: Unknown result type (might be due to invalid IL or missing references)
19508 //IL_3e707: Unknown result type (might be due to invalid IL or missing references)
19509 //IL_3e70d: Unknown result type (might be due to invalid IL or missing references)
19510 //IL_4fe00: Unknown result type (might be due to invalid IL or missing references)
19511 //IL_4eae6: Unknown result type (might be due to invalid IL or missing references)
19512 //IL_4eaec: Unknown result type (might be due to invalid IL or missing references)
19513 //IL_4eaf1: Unknown result type (might be due to invalid IL or missing references)
19514 //IL_4eaf6: Unknown result type (might be due to invalid IL or missing references)
19515 //IL_4e60f: Unknown result type (might be due to invalid IL or missing references)
19516 //IL_4e62b: Unknown result type (might be due to invalid IL or missing references)
19517 //IL_4e631: Unknown result type (might be due to invalid IL or missing references)
19518 //IL_4e633: Unknown result type (might be due to invalid IL or missing references)
19519 //IL_4e50b: Unknown result type (might be due to invalid IL or missing references)
19520 //IL_4e519: Unknown result type (might be due to invalid IL or missing references)
19521 //IL_4e51e: Unknown result type (might be due to invalid IL or missing references)
19522 //IL_4e52a: Unknown result type (might be due to invalid IL or missing references)
19523 //IL_4e52f: Unknown result type (might be due to invalid IL or missing references)
19524 //IL_4e53a: Unknown result type (might be due to invalid IL or missing references)
19525 //IL_4e53f: Unknown result type (might be due to invalid IL or missing references)
19526 //IL_4e558: Unknown result type (might be due to invalid IL or missing references)
19527 //IL_4e55e: Unknown result type (might be due to invalid IL or missing references)
19528 //IL_4e578: Unknown result type (might be due to invalid IL or missing references)
19529 //IL_4e57d: Unknown result type (might be due to invalid IL or missing references)
19530 //IL_4e588: Unknown result type (might be due to invalid IL or missing references)
19531 //IL_4e593: Unknown result type (might be due to invalid IL or missing references)
19532 //IL_4e598: Unknown result type (might be due to invalid IL or missing references)
19533 //IL_4e59d: Unknown result type (might be due to invalid IL or missing references)
19534 //IL_4e5a8: Unknown result type (might be due to invalid IL or missing references)
19535 //IL_4e5ad: Unknown result type (might be due to invalid IL or missing references)
19536 //IL_4e03d: Unknown result type (might be due to invalid IL or missing references)
19537 //IL_4e042: Unknown result type (might be due to invalid IL or missing references)
19538 //IL_4e05d: Unknown result type (might be due to invalid IL or missing references)
19539 //IL_4e062: Unknown result type (might be due to invalid IL or missing references)
19540 //IL_4dffc: Unknown result type (might be due to invalid IL or missing references)
19541 //IL_4e006: Unknown result type (might be due to invalid IL or missing references)
19542 //IL_4e00b: Unknown result type (might be due to invalid IL or missing references)
19543 //IL_4e0cc: Unknown result type (might be due to invalid IL or missing references)
19544 //IL_4e0dc: Unknown result type (might be due to invalid IL or missing references)
19545 //IL_4e0e2: Unknown result type (might be due to invalid IL or missing references)
19546 //IL_4e0e4: Unknown result type (might be due to invalid IL or missing references)
19547 //IL_4e0e9: Unknown result type (might be due to invalid IL or missing references)
19548 //IL_4dc85: Unknown result type (might be due to invalid IL or missing references)
19549 //IL_4dc8a: Unknown result type (might be due to invalid IL or missing references)
19550 //IL_4dca5: Unknown result type (might be due to invalid IL or missing references)
19551 //IL_4dcaa: Unknown result type (might be due to invalid IL or missing references)
19552 //IL_4dc32: Unknown result type (might be due to invalid IL or missing references)
19553 //IL_4dc3c: Unknown result type (might be due to invalid IL or missing references)
19554 //IL_4dc41: Unknown result type (might be due to invalid IL or missing references)
19555 //IL_4d45f: Unknown result type (might be due to invalid IL or missing references)
19556 //IL_4d475: Unknown result type (might be due to invalid IL or missing references)
19557 //IL_4d11f: Unknown result type (might be due to invalid IL or missing references)
19558 //IL_4d12b: Unknown result type (might be due to invalid IL or missing references)
19559 //IL_4c9d4: Unknown result type (might be due to invalid IL or missing references)
19560 //IL_4c9e7: Unknown result type (might be due to invalid IL or missing references)
19561 //IL_4c734: Unknown result type (might be due to invalid IL or missing references)
19562 //IL_4c757: Unknown result type (might be due to invalid IL or missing references)
19563 //IL_4c75d: Unknown result type (might be due to invalid IL or missing references)
19564 //IL_4c78d: Unknown result type (might be due to invalid IL or missing references)
19565 //IL_4c797: Unknown result type (might be due to invalid IL or missing references)
19566 //IL_4c79c: Unknown result type (might be due to invalid IL or missing references)
19567 //IL_4c803: Unknown result type (might be due to invalid IL or missing references)
19568 //IL_4c80e: Unknown result type (might be due to invalid IL or missing references)
19569 //IL_4c813: Unknown result type (might be due to invalid IL or missing references)
19570 //IL_4c838: Unknown result type (might be due to invalid IL or missing references)
19571 //IL_4adb2: Unknown result type (might be due to invalid IL or missing references)
19572 //IL_4add7: Unknown result type (might be due to invalid IL or missing references)
19573 //IL_4addd: Unknown result type (might be due to invalid IL or missing references)
19574 //IL_4adf7: Unknown result type (might be due to invalid IL or missing references)
19575 //IL_4adfc: Unknown result type (might be due to invalid IL or missing references)
19576 //IL_4ae0a: Unknown result type (might be due to invalid IL or missing references)
19577 //IL_4ae21: Unknown result type (might be due to invalid IL or missing references)
19578 //IL_4ae26: Unknown result type (might be due to invalid IL or missing references)
19579 //IL_4ae41: Unknown result type (might be due to invalid IL or missing references)
19580 //IL_4ae46: Unknown result type (might be due to invalid IL or missing references)
19581 //IL_4ae4b: Unknown result type (might be due to invalid IL or missing references)
19582 //IL_49ceb: Unknown result type (might be due to invalid IL or missing references)
19583 //IL_49cf9: Unknown result type (might be due to invalid IL or missing references)
19584 //IL_49cff: Unknown result type (might be due to invalid IL or missing references)
19585 //IL_49d01: Unknown result type (might be due to invalid IL or missing references)
19586 //IL_49d06: Unknown result type (might be due to invalid IL or missing references)
19587 //IL_49d12: Unknown result type (might be due to invalid IL or missing references)
19588 //IL_49d2b: Unknown result type (might be due to invalid IL or missing references)
19589 //IL_49d31: Unknown result type (might be due to invalid IL or missing references)
19590 //IL_49d4b: Unknown result type (might be due to invalid IL or missing references)
19591 //IL_49d50: Unknown result type (might be due to invalid IL or missing references)
19592 //IL_49d56: Unknown result type (might be due to invalid IL or missing references)
19593 //IL_49d5b: Unknown result type (might be due to invalid IL or missing references)
19594 //IL_49d66: Unknown result type (might be due to invalid IL or missing references)
19595 //IL_49d6b: Unknown result type (might be due to invalid IL or missing references)
19596 //IL_493a5: Unknown result type (might be due to invalid IL or missing references)
19597 //IL_493b8: Unknown result type (might be due to invalid IL or missing references)
19598 //IL_49305: Unknown result type (might be due to invalid IL or missing references)
19599 //IL_49318: Unknown result type (might be due to invalid IL or missing references)
19600 //IL_5139b: Unknown result type (might be due to invalid IL or missing references)
19601 //IL_50811: Unknown result type (might be due to invalid IL or missing references)
19602 //IL_4e998: Unknown result type (might be due to invalid IL or missing references)
19603 //IL_4e9b1: Unknown result type (might be due to invalid IL or missing references)
19604 //IL_4e9b7: Unknown result type (might be due to invalid IL or missing references)
19605 //IL_4e9d0: Unknown result type (might be due to invalid IL or missing references)
19606 //IL_4e9db: Unknown result type (might be due to invalid IL or missing references)
19607 //IL_4e9f5: Unknown result type (might be due to invalid IL or missing references)
19608 //IL_4ea00: Unknown result type (might be due to invalid IL or missing references)
19609 //IL_4ea1a: Unknown result type (might be due to invalid IL or missing references)
19610 //IL_4ea1f: Unknown result type (might be due to invalid IL or missing references)
19611 //IL_4ea25: Unknown result type (might be due to invalid IL or missing references)
19612 //IL_4ea2a: Unknown result type (might be due to invalid IL or missing references)
19613 //IL_4e0ff: Unknown result type (might be due to invalid IL or missing references)
19614 //IL_4e109: Unknown result type (might be due to invalid IL or missing references)
19615 //IL_4e10e: Unknown result type (might be due to invalid IL or missing references)
19616 //IL_4b022: Unknown result type (might be due to invalid IL or missing references)
19617 //IL_4b047: Unknown result type (might be due to invalid IL or missing references)
19618 //IL_4b04d: Unknown result type (might be due to invalid IL or missing references)
19619 //IL_4b067: Unknown result type (might be due to invalid IL or missing references)
19620 //IL_4b06c: Unknown result type (might be due to invalid IL or missing references)
19621 //IL_4b07a: Unknown result type (might be due to invalid IL or missing references)
19622 //IL_4b091: Unknown result type (might be due to invalid IL or missing references)
19623 //IL_4b096: Unknown result type (might be due to invalid IL or missing references)
19624 //IL_4b0b1: Unknown result type (might be due to invalid IL or missing references)
19625 //IL_4b0b6: Unknown result type (might be due to invalid IL or missing references)
19626 //IL_4b0bb: Unknown result type (might be due to invalid IL or missing references)
19627 //IL_4a307: Unknown result type (might be due to invalid IL or missing references)
19628 //IL_4a322: Unknown result type (might be due to invalid IL or missing references)
19629 //IL_4a328: Unknown result type (might be due to invalid IL or missing references)
19630 //IL_4a341: Unknown result type (might be due to invalid IL or missing references)
19631 //IL_4a347: Unknown result type (might be due to invalid IL or missing references)
19632 //IL_4a3ff: Unknown result type (might be due to invalid IL or missing references)
19633 //IL_515f5: Unknown result type (might be due to invalid IL or missing references)
19634 //IL_50683: Unknown result type (might be due to invalid IL or missing references)
19635 //IL_506f1: Unknown result type (might be due to invalid IL or missing references)
19636 //IL_506fc: Unknown result type (might be due to invalid IL or missing references)
19637 //IL_5073d: Unknown result type (might be due to invalid IL or missing references)
19638 //IL_5074d: Unknown result type (might be due to invalid IL or missing references)
19639 //IL_5075d: Unknown result type (might be due to invalid IL or missing references)
19640 //IL_50768: Unknown result type (might be due to invalid IL or missing references)
19641 //IL_507a9: Unknown result type (might be due to invalid IL or missing references)
19642 //IL_507b9: Unknown result type (might be due to invalid IL or missing references)
19643 //IL_4ea68: Unknown result type (might be due to invalid IL or missing references)
19644 //IL_4ea6e: Unknown result type (might be due to invalid IL or missing references)
19645 //IL_4ea3f: Unknown result type (might be due to invalid IL or missing references)
19646 //IL_4ea53: Unknown result type (might be due to invalid IL or missing references)
19647 //IL_4ea58: Unknown result type (might be due to invalid IL or missing references)
19648 //IL_4ea5d: Unknown result type (might be due to invalid IL or missing references)
19649 //IL_4e129: Unknown result type (might be due to invalid IL or missing references)
19650 //IL_4e12e: Unknown result type (might be due to invalid IL or missing references)
19651 //IL_4c856: Unknown result type (might be due to invalid IL or missing references)
19652 //IL_4c879: Unknown result type (might be due to invalid IL or missing references)
19653 //IL_4c87f: Unknown result type (might be due to invalid IL or missing references)
19654 //IL_4c8af: Unknown result type (might be due to invalid IL or missing references)
19655 //IL_4c8b9: Unknown result type (might be due to invalid IL or missing references)
19656 //IL_4c8be: Unknown result type (might be due to invalid IL or missing references)
19657 //IL_4b8f0: Unknown result type (might be due to invalid IL or missing references)
19658 //IL_4b915: Unknown result type (might be due to invalid IL or missing references)
19659 //IL_4b91b: Unknown result type (might be due to invalid IL or missing references)
19660 //IL_4b935: Unknown result type (might be due to invalid IL or missing references)
19661 //IL_4b93a: Unknown result type (might be due to invalid IL or missing references)
19662 //IL_4b948: Unknown result type (might be due to invalid IL or missing references)
19663 //IL_4b95f: Unknown result type (might be due to invalid IL or missing references)
19664 //IL_4b964: Unknown result type (might be due to invalid IL or missing references)
19665 //IL_4b97f: Unknown result type (might be due to invalid IL or missing references)
19666 //IL_4b984: Unknown result type (might be due to invalid IL or missing references)
19667 //IL_4b989: Unknown result type (might be due to invalid IL or missing references)
19668 //IL_4ab90: Unknown result type (might be due to invalid IL or missing references)
19669 //IL_4abb6: Unknown result type (might be due to invalid IL or missing references)
19670 //IL_4abbb: Unknown result type (might be due to invalid IL or missing references)
19671 //IL_4abf0: Unknown result type (might be due to invalid IL or missing references)
19672 //IL_4abf6: Unknown result type (might be due to invalid IL or missing references)
19673 //IL_51405: Unknown result type (might be due to invalid IL or missing references)
19674 //IL_50fe6: Unknown result type (might be due to invalid IL or missing references)
19675 //IL_4fefe: Unknown result type (might be due to invalid IL or missing references)
19676 //IL_4ff0d: Unknown result type (might be due to invalid IL or missing references)
19677 //IL_4ff12: Unknown result type (might be due to invalid IL or missing references)
19678 //IL_4ff17: Unknown result type (might be due to invalid IL or missing references)
19679 //IL_4ff1c: Unknown result type (might be due to invalid IL or missing references)
19680 //IL_4ff22: Unknown result type (might be due to invalid IL or missing references)
19681 //IL_4ff2d: Unknown result type (might be due to invalid IL or missing references)
19682 //IL_4fe86: Unknown result type (might be due to invalid IL or missing references)
19683 //IL_4eba1: Unknown result type (might be due to invalid IL or missing references)
19684 //IL_4eba6: Unknown result type (might be due to invalid IL or missing references)
19685 //IL_4ebb2: Unknown result type (might be due to invalid IL or missing references)
19686 //IL_4ebbc: Unknown result type (might be due to invalid IL or missing references)
19687 //IL_4ebc1: Unknown result type (might be due to invalid IL or missing references)
19688 //IL_4ebc6: Unknown result type (might be due to invalid IL or missing references)
19689 //IL_4ebcd: Unknown result type (might be due to invalid IL or missing references)
19690 //IL_4ebd2: Unknown result type (might be due to invalid IL or missing references)
19691 //IL_4ebde: Unknown result type (might be due to invalid IL or missing references)
19692 //IL_4ebe8: Unknown result type (might be due to invalid IL or missing references)
19693 //IL_4ebed: Unknown result type (might be due to invalid IL or missing references)
19694 //IL_4ebf2: Unknown result type (might be due to invalid IL or missing references)
19695 //IL_4ebfc: Unknown result type (might be due to invalid IL or missing references)
19696 //IL_4ec01: Unknown result type (might be due to invalid IL or missing references)
19697 //IL_4ec06: Unknown result type (might be due to invalid IL or missing references)
19698 //IL_4d3ae: Unknown result type (might be due to invalid IL or missing references)
19699 //IL_4d3b4: Unknown result type (might be due to invalid IL or missing references)
19700 //IL_4d3b9: Unknown result type (might be due to invalid IL or missing references)
19701 //IL_4d3be: Unknown result type (might be due to invalid IL or missing references)
19702 //IL_4ce91: Unknown result type (might be due to invalid IL or missing references)
19703 //IL_4ce97: Unknown result type (might be due to invalid IL or missing references)
19704 //IL_4ce9c: Unknown result type (might be due to invalid IL or missing references)
19705 //IL_4cea1: Unknown result type (might be due to invalid IL or missing references)
19706 //IL_4aeb2: Unknown result type (might be due to invalid IL or missing references)
19707 //IL_4aed8: Unknown result type (might be due to invalid IL or missing references)
19708 //IL_4aedd: Unknown result type (might be due to invalid IL or missing references)
19709 //IL_4af12: Unknown result type (might be due to invalid IL or missing references)
19710 //IL_4af18: Unknown result type (might be due to invalid IL or missing references)
19711 //IL_4afad: Unknown result type (might be due to invalid IL or missing references)
19712 //IL_4afb2: Unknown result type (might be due to invalid IL or missing references)
19713 //IL_509b8: Unknown result type (might be due to invalid IL or missing references)
19714 //IL_508b7: Unknown result type (might be due to invalid IL or missing references)
19715 //IL_508bc: Unknown result type (might be due to invalid IL or missing references)
19716 //IL_508c6: Unknown result type (might be due to invalid IL or missing references)
19717 //IL_508cb: Unknown result type (might be due to invalid IL or missing references)
19718 //IL_508d0: Unknown result type (might be due to invalid IL or missing references)
19719 //IL_4e687: Unknown result type (might be due to invalid IL or missing references)
19720 //IL_4e69c: Unknown result type (might be due to invalid IL or missing references)
19721 //IL_4e6a2: Unknown result type (might be due to invalid IL or missing references)
19722 //IL_4e6a4: Unknown result type (might be due to invalid IL or missing references)
19723 //IL_4e6a9: Unknown result type (might be due to invalid IL or missing references)
19724 //IL_4e6b6: Unknown result type (might be due to invalid IL or missing references)
19725 //IL_4e6c1: Unknown result type (might be due to invalid IL or missing references)
19726 //IL_4e6cb: Unknown result type (might be due to invalid IL or missing references)
19727 //IL_4e6d6: Unknown result type (might be due to invalid IL or missing references)
19728 //IL_4d3e1: Unknown result type (might be due to invalid IL or missing references)
19729 //IL_4d3ec: Unknown result type (might be due to invalid IL or missing references)
19730 //IL_4d3f1: Unknown result type (might be due to invalid IL or missing references)
19731 //IL_4d3f9: Unknown result type (might be due to invalid IL or missing references)
19732 //IL_4d3fe: Unknown result type (might be due to invalid IL or missing references)
19733 //IL_4d404: Unknown result type (might be due to invalid IL or missing references)
19734 //IL_4d409: Unknown result type (might be due to invalid IL or missing references)
19735 //IL_4d420: Unknown result type (might be due to invalid IL or missing references)
19736 //IL_4d532: Unknown result type (might be due to invalid IL or missing references)
19737 //IL_4d548: Unknown result type (might be due to invalid IL or missing references)
19738 //IL_4d701: Unknown result type (might be due to invalid IL or missing references)
19739 //IL_4d719: Unknown result type (might be due to invalid IL or missing references)
19740 //IL_4cec4: Unknown result type (might be due to invalid IL or missing references)
19741 //IL_4cecf: Unknown result type (might be due to invalid IL or missing references)
19742 //IL_4ced4: Unknown result type (might be due to invalid IL or missing references)
19743 //IL_4cedc: Unknown result type (might be due to invalid IL or missing references)
19744 //IL_4cee1: Unknown result type (might be due to invalid IL or missing references)
19745 //IL_4cee7: Unknown result type (might be due to invalid IL or missing references)
19746 //IL_4ceec: Unknown result type (might be due to invalid IL or missing references)
19747 //IL_4b122: Unknown result type (might be due to invalid IL or missing references)
19748 //IL_4b148: Unknown result type (might be due to invalid IL or missing references)
19749 //IL_4b14d: Unknown result type (might be due to invalid IL or missing references)
19750 //IL_4b182: Unknown result type (might be due to invalid IL or missing references)
19751 //IL_4b188: Unknown result type (might be due to invalid IL or missing references)
19752 //IL_4b21d: Unknown result type (might be due to invalid IL or missing references)
19753 //IL_4b222: Unknown result type (might be due to invalid IL or missing references)
19754 //IL_5106c: Unknown result type (might be due to invalid IL or missing references)
19755 //IL_5109d: Unknown result type (might be due to invalid IL or missing references)
19756 //IL_510a2: Unknown result type (might be due to invalid IL or missing references)
19757 //IL_510a7: Unknown result type (might be due to invalid IL or missing references)
19758 //IL_50f4b: Unknown result type (might be due to invalid IL or missing references)
19759 //IL_50f50: Unknown result type (might be due to invalid IL or missing references)
19760 //IL_50f5a: Unknown result type (might be due to invalid IL or missing references)
19761 //IL_50f5f: Unknown result type (might be due to invalid IL or missing references)
19762 //IL_50f64: Unknown result type (might be due to invalid IL or missing references)
19763 //IL_509f3: Unknown result type (might be due to invalid IL or missing references)
19764 //IL_50a02: Unknown result type (might be due to invalid IL or missing references)
19765 //IL_50a07: Unknown result type (might be due to invalid IL or missing references)
19766 //IL_50a0c: Unknown result type (might be due to invalid IL or missing references)
19767 //IL_4fedd: Unknown result type (might be due to invalid IL or missing references)
19768 //IL_4ec40: Unknown result type (might be due to invalid IL or missing references)
19769 //IL_4ec66: Unknown result type (might be due to invalid IL or missing references)
19770 //IL_4ec6b: Unknown result type (might be due to invalid IL or missing references)
19771 //IL_4ec70: Unknown result type (might be due to invalid IL or missing references)
19772 //IL_4ec77: Unknown result type (might be due to invalid IL or missing references)
19773 //IL_4d576: Unknown result type (might be due to invalid IL or missing references)
19774 //IL_4d58c: Unknown result type (might be due to invalid IL or missing references)
19775 //IL_4d1d7: Unknown result type (might be due to invalid IL or missing references)
19776 //IL_4d1dd: Unknown result type (might be due to invalid IL or missing references)
19777 //IL_4d1e2: Unknown result type (might be due to invalid IL or missing references)
19778 //IL_4d1e7: Unknown result type (might be due to invalid IL or missing references)
19779 //IL_4b9f0: Unknown result type (might be due to invalid IL or missing references)
19780 //IL_4ba16: Unknown result type (might be due to invalid IL or missing references)
19781 //IL_4ba1b: Unknown result type (might be due to invalid IL or missing references)
19782 //IL_4ba4c: Unknown result type (might be due to invalid IL or missing references)
19783 //IL_4ba52: Unknown result type (might be due to invalid IL or missing references)
19784 //IL_4ec8c: Unknown result type (might be due to invalid IL or missing references)
19785 //IL_4ec92: Unknown result type (might be due to invalid IL or missing references)
19786 //IL_4ec97: Unknown result type (might be due to invalid IL or missing references)
19787 //IL_4d20a: Unknown result type (might be due to invalid IL or missing references)
19788 //IL_4d215: Unknown result type (might be due to invalid IL or missing references)
19789 //IL_4d21a: Unknown result type (might be due to invalid IL or missing references)
19790 //IL_4d222: Unknown result type (might be due to invalid IL or missing references)
19791 //IL_4d227: Unknown result type (might be due to invalid IL or missing references)
19792 //IL_4d22d: Unknown result type (might be due to invalid IL or missing references)
19793 //IL_4d232: Unknown result type (might be due to invalid IL or missing references)
19794 //IL_4ad4c: Unknown result type (might be due to invalid IL or missing references)
19795 //IL_514a3: Unknown result type (might be due to invalid IL or missing references)
19796 //IL_4b2f7: Unknown result type (might be due to invalid IL or missing references)
19797 //IL_4ecc6: Unknown result type (might be due to invalid IL or missing references)
19798 //IL_4ecd4: Unknown result type (might be due to invalid IL or missing references)
19799 //IL_4bbb1: Unknown result type (might be due to invalid IL or missing references)
19800 //IL_4b511: Unknown result type (might be due to invalid IL or missing references)
19801 //IL_4b30c: Unknown result type (might be due to invalid IL or missing references)
19802 //IL_4b31f: Unknown result type (might be due to invalid IL or missing references)
19803 //IL_500bb: Unknown result type (might be due to invalid IL or missing references)
19804 //IL_500c1: Unknown result type (might be due to invalid IL or missing references)
19805 //IL_500c6: Unknown result type (might be due to invalid IL or missing references)
19806 //IL_500cb: Unknown result type (might be due to invalid IL or missing references)
19807 //IL_500d1: Unknown result type (might be due to invalid IL or missing references)
19808 //IL_500d6: Unknown result type (might be due to invalid IL or missing references)
19809 //IL_500df: Unknown result type (might be due to invalid IL or missing references)
19810 //IL_500e9: Unknown result type (might be due to invalid IL or missing references)
19811 //IL_500ee: Unknown result type (might be due to invalid IL or missing references)
19812 //IL_500f4: Unknown result type (might be due to invalid IL or missing references)
19813 //IL_500f9: Unknown result type (might be due to invalid IL or missing references)
19814 //IL_500fe: Unknown result type (might be due to invalid IL or missing references)
19815 //IL_50104: Unknown result type (might be due to invalid IL or missing references)
19816 //IL_5010a: Unknown result type (might be due to invalid IL or missing references)
19817 //IL_5010f: Unknown result type (might be due to invalid IL or missing references)
19818 //IL_50115: Unknown result type (might be due to invalid IL or missing references)
19819 //IL_4ef30: Unknown result type (might be due to invalid IL or missing references)
19820 //IL_4b354: Unknown result type (might be due to invalid IL or missing references)
19821 //IL_4b359: Unknown result type (might be due to invalid IL or missing references)
19822 //IL_4b35e: Unknown result type (might be due to invalid IL or missing references)
19823 //IL_4ee13: Unknown result type (might be due to invalid IL or missing references)
19824 //IL_4ee18: Unknown result type (might be due to invalid IL or missing references)
19825 //IL_4ee24: Unknown result type (might be due to invalid IL or missing references)
19826 //IL_4ee33: Unknown result type (might be due to invalid IL or missing references)
19827 //IL_4bbf2: Unknown result type (might be due to invalid IL or missing references)
19828 //IL_4bc0a: Unknown result type (might be due to invalid IL or missing references)
19829 //IL_4bc0f: Unknown result type (might be due to invalid IL or missing references)
19830 //IL_4bc26: Unknown result type (might be due to invalid IL or missing references)
19831 //IL_4bc3a: Unknown result type (might be due to invalid IL or missing references)
19832 //IL_4bc3f: Unknown result type (might be due to invalid IL or missing references)
19833 //IL_4bc44: Unknown result type (might be due to invalid IL or missing references)
19834 //IL_4bc49: Unknown result type (might be due to invalid IL or missing references)
19835 //IL_4bc4f: Unknown result type (might be due to invalid IL or missing references)
19836 //IL_4bc5d: Unknown result type (might be due to invalid IL or missing references)
19837 //IL_4bc62: Unknown result type (might be due to invalid IL or missing references)
19838 //IL_4bc7d: Unknown result type (might be due to invalid IL or missing references)
19839 //IL_4bc82: Unknown result type (might be due to invalid IL or missing references)
19840 //IL_4bc8e: Unknown result type (might be due to invalid IL or missing references)
19841 //IL_4bc9a: Unknown result type (might be due to invalid IL or missing references)
19842 //IL_4bce1: Unknown result type (might be due to invalid IL or missing references)
19843 //IL_4bce7: Unknown result type (might be due to invalid IL or missing references)
19844 //IL_4ed08: Unknown result type (might be due to invalid IL or missing references)
19845 //IL_4ed0d: Unknown result type (might be due to invalid IL or missing references)
19846 //IL_4ed13: Unknown result type (might be due to invalid IL or missing references)
19847 //IL_4b599: Unknown result type (might be due to invalid IL or missing references)
19848 //IL_4b59e: Unknown result type (might be due to invalid IL or missing references)
19849 //IL_4b5a3: Unknown result type (might be due to invalid IL or missing references)
19850 //IL_4b5b5: Unknown result type (might be due to invalid IL or missing references)
19851 //IL_4b5ba: Unknown result type (might be due to invalid IL or missing references)
19852 //IL_4b5bf: Unknown result type (might be due to invalid IL or missing references)
19853 //IL_4b5d1: Unknown result type (might be due to invalid IL or missing references)
19854 //IL_4b5d7: Unknown result type (might be due to invalid IL or missing references)
19855 //IL_4b5dc: Unknown result type (might be due to invalid IL or missing references)
19856 //IL_4b5e1: Unknown result type (might be due to invalid IL or missing references)
19857 //IL_4b397: Unknown result type (might be due to invalid IL or missing references)
19858 //IL_4b3a2: Unknown result type (might be due to invalid IL or missing references)
19859 //IL_50ae6: Unknown result type (might be due to invalid IL or missing references)
19860 //IL_50af2: Unknown result type (might be due to invalid IL or missing references)
19861 //IL_50b09: Unknown result type (might be due to invalid IL or missing references)
19862 //IL_50b0e: Unknown result type (might be due to invalid IL or missing references)
19863 //IL_50b13: Unknown result type (might be due to invalid IL or missing references)
19864 //IL_50b25: Unknown result type (might be due to invalid IL or missing references)
19865 //IL_50b4d: Unknown result type (might be due to invalid IL or missing references)
19866 //IL_50b52: Unknown result type (might be due to invalid IL or missing references)
19867 //IL_50b58: Unknown result type (might be due to invalid IL or missing references)
19868 //IL_50b63: Unknown result type (might be due to invalid IL or missing references)
19869 //IL_50b71: Unknown result type (might be due to invalid IL or missing references)
19870 //IL_50b77: Unknown result type (might be due to invalid IL or missing references)
19871 //IL_50bd1: Unknown result type (might be due to invalid IL or missing references)
19872 //IL_50be2: Unknown result type (might be due to invalid IL or missing references)
19873 //IL_50be7: Unknown result type (might be due to invalid IL or missing references)
19874 //IL_4efc2: Unknown result type (might be due to invalid IL or missing references)
19875 //IL_4efc7: Unknown result type (might be due to invalid IL or missing references)
19876 //IL_4efcd: Unknown result type (might be due to invalid IL or missing references)
19877 //IL_4efd3: Unknown result type (might be due to invalid IL or missing references)
19878 //IL_4efd9: Unknown result type (might be due to invalid IL or missing references)
19879 //IL_4efde: Unknown result type (might be due to invalid IL or missing references)
19880 //IL_4efe4: Unknown result type (might be due to invalid IL or missing references)
19881 //IL_4efea: Unknown result type (might be due to invalid IL or missing references)
19882 //IL_4eff0: Unknown result type (might be due to invalid IL or missing references)
19883 //IL_4eff6: Unknown result type (might be due to invalid IL or missing references)
19884 //IL_4f001: Unknown result type (might be due to invalid IL or missing references)
19885 //IL_4f006: Unknown result type (might be due to invalid IL or missing references)
19886 //IL_4f00c: Unknown result type (might be due to invalid IL or missing references)
19887 //IL_4f012: Unknown result type (might be due to invalid IL or missing references)
19888 //IL_4f018: Unknown result type (might be due to invalid IL or missing references)
19889 //IL_4f01d: Unknown result type (might be due to invalid IL or missing references)
19890 //IL_4f023: Unknown result type (might be due to invalid IL or missing references)
19891 //IL_4f029: Unknown result type (might be due to invalid IL or missing references)
19892 //IL_4f02f: Unknown result type (might be due to invalid IL or missing references)
19893 //IL_4f035: Unknown result type (might be due to invalid IL or missing references)
19894 //IL_4f046: Unknown result type (might be due to invalid IL or missing references)
19895 //IL_4f04b: Unknown result type (might be due to invalid IL or missing references)
19896 //IL_4b3b5: Unknown result type (might be due to invalid IL or missing references)
19897 //IL_4b469: Unknown result type (might be due to invalid IL or missing references)
19898 //IL_4b47a: Unknown result type (might be due to invalid IL or missing references)
19899 //IL_4b40f: Unknown result type (might be due to invalid IL or missing references)
19900 //IL_4b420: Unknown result type (might be due to invalid IL or missing references)
19901 //IL_4f087: Unknown result type (might be due to invalid IL or missing references)
19902 //IL_4f08d: Unknown result type (might be due to invalid IL or missing references)
19903 //IL_4ed60: Unknown result type (might be due to invalid IL or missing references)
19904 //IL_4eda1: Unknown result type (might be due to invalid IL or missing references)
19905 //IL_4edab: Unknown result type (might be due to invalid IL or missing references)
19906 //IL_50d39: Unknown result type (might be due to invalid IL or missing references)
19907 //IL_50d48: Unknown result type (might be due to invalid IL or missing references)
19908 //IL_50d4d: Unknown result type (might be due to invalid IL or missing references)
19909 //IL_50d58: Unknown result type (might be due to invalid IL or missing references)
19910 //IL_50d6b: Unknown result type (might be due to invalid IL or missing references)
19911 //IL_50d70: Unknown result type (might be due to invalid IL or missing references)
19912 //IL_50d75: Unknown result type (might be due to invalid IL or missing references)
19913 //IL_50d87: Unknown result type (might be due to invalid IL or missing references)
19914 //IL_50db3: Unknown result type (might be due to invalid IL or missing references)
19915 //IL_50db8: Unknown result type (might be due to invalid IL or missing references)
19916 //IL_50dbe: Unknown result type (might be due to invalid IL or missing references)
19917 //IL_50dc9: Unknown result type (might be due to invalid IL or missing references)
19918 //IL_50dd7: Unknown result type (might be due to invalid IL or missing references)
19919 //IL_50ddd: Unknown result type (might be due to invalid IL or missing references)
19920 //IL_50e36: Unknown result type (might be due to invalid IL or missing references)
19921 //IL_50e3b: Unknown result type (might be due to invalid IL or missing references)
19922 //IL_4f0aa: Unknown result type (might be due to invalid IL or missing references)
19923 //IL_4f0b0: Unknown result type (might be due to invalid IL or missing references)
19924 //IL_4edd0: Unknown result type (might be due to invalid IL or missing references)
19925 //IL_4b648: Unknown result type (might be due to invalid IL or missing references)
19926 //IL_4b65a: Unknown result type (might be due to invalid IL or missing references)
19927 //IL_4b67e: Unknown result type (might be due to invalid IL or missing references)
19928 //IL_4b690: Unknown result type (might be due to invalid IL or missing references)
19929 //IL_4b6b5: Unknown result type (might be due to invalid IL or missing references)
19930 //IL_511cf: Unknown result type (might be due to invalid IL or missing references)
19931 //IL_511db: Unknown result type (might be due to invalid IL or missing references)
19932 //IL_511f2: Unknown result type (might be due to invalid IL or missing references)
19933 //IL_511f7: Unknown result type (might be due to invalid IL or missing references)
19934 //IL_511fc: Unknown result type (might be due to invalid IL or missing references)
19935 //IL_51214: Unknown result type (might be due to invalid IL or missing references)
19936 //IL_5123c: Unknown result type (might be due to invalid IL or missing references)
19937 //IL_51241: Unknown result type (might be due to invalid IL or missing references)
19938 //IL_51247: Unknown result type (might be due to invalid IL or missing references)
19939 //IL_51252: Unknown result type (might be due to invalid IL or missing references)
19940 //IL_51260: Unknown result type (might be due to invalid IL or missing references)
19941 //IL_51266: Unknown result type (might be due to invalid IL or missing references)
19942 //IL_501e2: Unknown result type (might be due to invalid IL or missing references)
19943 //IL_4b720: Unknown result type (might be due to invalid IL or missing references)
19944 //IL_4b6cf: Unknown result type (might be due to invalid IL or missing references)
19945 //IL_4b73a: Unknown result type (might be due to invalid IL or missing references)
19946 //IL_4b6e9: Unknown result type (might be due to invalid IL or missing references)
19947 //IL_4f0e2: Unknown result type (might be due to invalid IL or missing references)
19948 //IL_4f0fc: Unknown result type (might be due to invalid IL or missing references)
19949 //IL_4f102: Unknown result type (might be due to invalid IL or missing references)
19950 //IL_4f11b: Unknown result type (might be due to invalid IL or missing references)
19951 //IL_4f121: Unknown result type (might be due to invalid IL or missing references)
19952 //IL_4f134: Unknown result type (might be due to invalid IL or missing references)
19953 //IL_4f148: Unknown result type (might be due to invalid IL or missing references)
19954 //IL_4f14d: Unknown result type (might be due to invalid IL or missing references)
19955 //IL_4f152: Unknown result type (might be due to invalid IL or missing references)
19956 //IL_4b754: Unknown result type (might be due to invalid IL or missing references)
19957 //IL_4b703: Unknown result type (might be due to invalid IL or missing references)
19958 //IL_50256: Unknown result type (might be due to invalid IL or missing references)
19959 //IL_50266: Unknown result type (might be due to invalid IL or missing references)
19960 //IL_5026b: Unknown result type (might be due to invalid IL or missing references)
19961 //IL_50270: Unknown result type (might be due to invalid IL or missing references)
19962 //IL_50275: Unknown result type (might be due to invalid IL or missing references)
19963 //IL_5027c: Unknown result type (might be due to invalid IL or missing references)
19964 //IL_50287: Unknown result type (might be due to invalid IL or missing references)
19965 //IL_5028c: Unknown result type (might be due to invalid IL or missing references)
19966 //IL_5022c: Unknown result type (might be due to invalid IL or missing references)
19967 //IL_4b76e: Unknown result type (might be due to invalid IL or missing references)
19968 //IL_4b831: Unknown result type (might be due to invalid IL or missing references)
19969 //IL_4b844: Unknown result type (might be due to invalid IL or missing references)
19970 if (aiStyle == 0)
19971 {
19972 if (Main.netMode != 1)
19973 {
19974 for (int i = 0; i < 255; i++)
19975 {
19976 if (Main.player[i].active && Main.player[i].talkNPC == whoAmI)
19977 {
19978 if (type == 589)
19979 {
19981 }
19982 if (type == 105)
19983 {
19985 }
19986 if (type == 106)
19987 {
19989 }
19990 if (type == 123)
19991 {
19993 }
19994 if (type == 354)
19995 {
19997 }
19998 if (type == 376)
19999 {
20001 }
20002 if (type == 579)
20003 {
20005 }
20006 }
20007 }
20008 }
20009 if (type != 376 && type != 579)
20010 {
20011 TargetClosest();
20013 }
20014 if (type == 376 || type == 579)
20015 {
20016 if (wet || Main.tile[(int)(base.Center.X / 16f), (int)(position.Y - 4f) / 16].liquid > 0)
20017 {
20018 velocity.Y = -0.4f;
20019 int num = 1;
20020 if (base.Center.X / 16f > (float)(Main.maxTilesX / 2))
20021 {
20022 num = -1;
20023 }
20024 int num718 = 12;
20025 int num829 = (int)base.Center.X / 16;
20026 int j = (int)base.Center.Y / 16;
20027 bool flag = false;
20028 if (num > 0)
20029 {
20030 for (int k = num829; k < num829 + num718; k++)
20031 {
20032 if (WorldGen.SolidTile(k, j))
20033 {
20034 flag = true;
20035 }
20036 }
20037 }
20038 else
20039 {
20040 for (int l = num829; l > num829 - num718; l--)
20041 {
20042 if (WorldGen.SolidTile(l, j))
20043 {
20044 flag = true;
20045 }
20046 }
20047 }
20048 if (type == 579)
20049 {
20050 flag = true;
20051 }
20052 if (flag)
20053 {
20054 velocity.X *= 0.99f;
20055 if ((double)velocity.X > -0.01 && (double)velocity.X < 0.01)
20056 {
20057 velocity.X = 0f;
20058 }
20059 return;
20060 }
20061 velocity.X += (float)num * 0.01f;
20062 if (velocity.X > 0.2f)
20063 {
20064 velocity.X *= 0.95f;
20065 }
20066 if (velocity.X < -0.2f)
20067 {
20068 velocity.X *= 0.95f;
20069 }
20070 }
20071 else
20072 {
20073 velocity.X *= 0.93f;
20074 if ((double)velocity.X > -0.1 && (double)velocity.X < 0.1)
20075 {
20076 velocity.X = 0f;
20077 }
20078 }
20079 }
20080 else
20081 {
20082 velocity.X *= 0.93f;
20083 if ((double)velocity.X > -0.1 && (double)velocity.X < 0.1)
20084 {
20085 velocity.X = 0f;
20086 }
20087 }
20088 return;
20089 }
20090 if (aiStyle == 1)
20091 {
20092 AI_001_Slimes();
20093 return;
20094 }
20095 if (aiStyle == 2)
20096 {
20098 return;
20099 }
20100 if (aiStyle == 3)
20101 {
20103 return;
20104 }
20105 Color newColor;
20106 if (aiStyle == 4)
20107 {
20108 bool flag24 = false;
20109 if (Main.expertMode && (double)life < (double)lifeMax * 0.12)
20110 {
20111 flag24 = true;
20112 }
20113 bool flag35 = false;
20114 if (Main.expertMode && (double)life < (double)lifeMax * 0.04)
20115 {
20116 flag35 = true;
20117 }
20118 float num940 = 20f;
20119 if (flag35)
20120 {
20121 num940 = 10f;
20122 }
20123 if (target < 0 || target == 255 || Main.player[target].dead || !Main.player[target].active)
20124 {
20125 TargetClosest();
20126 }
20127 bool dead = Main.player[target].dead;
20128 float num1051 = position.X + (float)(width / 2) - Main.player[target].position.X - (float)(Main.player[target].width / 2);
20129 float num1162 = position.Y + (float)height - 59f - Main.player[target].position.Y - (float)(Main.player[target].height / 2);
20130 float num1273 = (float)Math.Atan2(num1162, num1051) + 1.57f;
20131 if (num1273 < 0f)
20132 {
20133 num1273 += 6.283f;
20134 }
20135 else if ((double)num1273 > 6.283)
20136 {
20137 num1273 -= 6.283f;
20138 }
20139 float num1384 = 0f;
20140 if (this.ai[0] == 0f && this.ai[1] == 0f)
20141 {
20142 num1384 = 0.02f;
20143 }
20144 if (this.ai[0] == 0f && this.ai[1] == 2f && this.ai[2] > 40f)
20145 {
20146 num1384 = 0.05f;
20147 }
20148 if (this.ai[0] == 3f && this.ai[1] == 0f)
20149 {
20150 num1384 = 0.05f;
20151 }
20152 if (this.ai[0] == 3f && this.ai[1] == 2f && this.ai[2] > 40f)
20153 {
20154 num1384 = 0.08f;
20155 }
20156 if (this.ai[0] == 3f && this.ai[1] == 4f && this.ai[2] > num940)
20157 {
20158 num1384 = 0.15f;
20159 }
20160 if (this.ai[0] == 3f && this.ai[1] == 5f)
20161 {
20162 num1384 = 0.05f;
20163 }
20164 if (Main.expertMode)
20165 {
20166 num1384 *= 1.5f;
20167 }
20168 if (flag35 && Main.expertMode)
20169 {
20170 num1384 = 0f;
20171 }
20172 if (rotation < num1273)
20173 {
20174 if ((double)(num1273 - rotation) > 3.1415)
20175 {
20176 rotation -= num1384;
20177 }
20178 else
20179 {
20180 rotation += num1384;
20181 }
20182 }
20183 else if (rotation > num1273)
20184 {
20185 if ((double)(rotation - num1273) > 3.1415)
20186 {
20187 rotation += num1384;
20188 }
20189 else
20190 {
20191 rotation -= num1384;
20192 }
20193 }
20195 {
20196 rotation = num1273;
20197 }
20198 if (rotation < 0f)
20199 {
20200 rotation += 6.283f;
20201 }
20202 else if ((double)rotation > 6.283)
20203 {
20204 rotation -= 6.283f;
20205 }
20207 {
20208 rotation = num1273;
20209 }
20210 if (Main.rand.Next(5) == 0)
20211 {
20212 Vector2 val = new Vector2(position.X, position.Y + (float)height * 0.25f);
20213 int num1606 = width;
20214 int num1607 = (int)((float)height * 0.5f);
20215 float x5 = velocity.X;
20216 newColor = default(Color);
20217 int num1495 = Dust.NewDust(val, num1606, num1607, 5, x5, 2f, 0, newColor);
20218 Main.dust[num1495].velocity.X *= 0.5f;
20219 Main.dust[num1495].velocity.Y *= 0.1f;
20220 }
20221 reflectsProjectiles = false;
20222 if (Main.IsItDay() || dead)
20223 {
20224 velocity.Y -= 0.04f;
20225 EncourageDespawn(10);
20226 return;
20227 }
20228 if (this.ai[0] == 0f)
20229 {
20230 if (this.ai[1] == 0f)
20231 {
20232 float num2 = 5f;
20233 float num113 = 0.04f;
20234 if (Main.expertMode)
20235 {
20236 num113 = 0.15f;
20237 num2 = 7f;
20238 }
20239 if (Main.getGoodWorld)
20240 {
20241 num113 += 0.05f;
20242 num2 += 1f;
20243 }
20244 Vector2 vector = default(Vector2);
20245 ((Vector2)(ref vector))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
20246 float num224 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector.X;
20247 float num335 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - 200f - vector.Y;
20248 float num446 = (float)Math.Sqrt(num224 * num224 + num335 * num335);
20249 float num557 = num446;
20250 num446 = num2 / num446;
20251 num224 *= num446;
20252 num335 *= num446;
20253 if (velocity.X < num224)
20254 {
20255 velocity.X += num113;
20256 if (velocity.X < 0f && num224 > 0f)
20257 {
20258 velocity.X += num113;
20259 }
20260 }
20261 else if (velocity.X > num224)
20262 {
20263 velocity.X -= num113;
20264 if (velocity.X > 0f && num224 < 0f)
20265 {
20266 velocity.X -= num113;
20267 }
20268 }
20269 if (velocity.Y < num335)
20270 {
20271 velocity.Y += num113;
20272 if (velocity.Y < 0f && num335 > 0f)
20273 {
20274 velocity.Y += num113;
20275 }
20276 }
20277 else if (velocity.Y > num335)
20278 {
20279 velocity.Y -= num113;
20280 if (velocity.Y > 0f && num335 < 0f)
20281 {
20282 velocity.Y -= num113;
20283 }
20284 }
20285 this.ai[2] += 1f;
20286 float num668 = 600f;
20287 if (Main.expertMode)
20288 {
20289 num668 *= 0.35f;
20290 }
20291 if (this.ai[2] >= num668)
20292 {
20293 this.ai[1] = 1f;
20294 this.ai[2] = 0f;
20295 this.ai[3] = 0f;
20296 target = 255;
20297 netUpdate = true;
20298 }
20299 else if ((position.Y + (float)height < Main.player[target].position.Y && num557 < 500f) || (Main.expertMode && num557 < 500f))
20300 {
20301 if (!Main.player[target].dead)
20302 {
20303 this.ai[3] += 1f;
20304 }
20305 float num685 = 110f;
20306 if (Main.expertMode)
20307 {
20308 num685 *= 0.4f;
20309 }
20310 if (Main.getGoodWorld)
20311 {
20312 num685 *= 0.8f;
20313 }
20314 if (this.ai[3] >= num685)
20315 {
20316 this.ai[3] = 0f;
20317 rotation = num1273;
20318 float num696 = 5f;
20319 if (Main.expertMode)
20320 {
20321 num696 = 6f;
20322 }
20323 float num707 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector.X;
20324 float num719 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector.Y;
20325 float num730 = (float)Math.Sqrt(num707 * num707 + num719 * num719);
20326 num730 = num696 / num730;
20327 Vector2 vector112 = vector;
20328 Vector2 vector223 = default(Vector2);
20329 vector223.X = num707 * num730;
20330 vector223.Y = num719 * num730;
20331 vector112.X += vector223.X * 10f;
20332 vector112.Y += vector223.Y * 10f;
20333 if (Main.netMode != 1)
20334 {
20336 Main.npc[num741].velocity.X = vector223.X;
20337 Main.npc[num741].velocity.Y = vector223.Y;
20338 if (Main.netMode == 2 && num741 < 200)
20339 {
20340 NetMessage.SendData(23, -1, -1, null, num741);
20341 }
20342 }
20343 SoundEngine.PlaySound(3, (int)vector112.X, (int)vector112.Y);
20344 for (int m = 0; m < 10; m++)
20345 {
20346 Vector2 val2 = vector112;
20347 float speedX3 = vector223.X * 0.4f;
20348 float speedY2 = vector223.Y * 0.4f;
20349 newColor = default(Color);
20350 Dust.NewDust(val2, 20, 20, 5, speedX3, speedY2, 0, newColor);
20351 }
20352 }
20353 }
20354 }
20355 else if (this.ai[1] == 1f)
20356 {
20357 rotation = num1273;
20358 float num752 = 6f;
20359 if (Main.expertMode)
20360 {
20361 num752 = 7f;
20362 }
20363 if (Main.getGoodWorld)
20364 {
20365 num752 += 1f;
20366 }
20367 Vector2 vector252 = default(Vector2);
20368 ((Vector2)(ref vector252))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
20369 float num763 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector252.X;
20370 float num774 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector252.Y;
20371 float num785 = (float)Math.Sqrt(num763 * num763 + num774 * num774);
20372 num785 = num752 / num785;
20373 velocity.X = num763 * num785;
20374 velocity.Y = num774 * num785;
20375 this.ai[1] = 2f;
20376 netUpdate = true;
20377 if (netSpam > 10)
20378 {
20379 netSpam = 10;
20380 }
20381 }
20382 else if (this.ai[1] == 2f)
20383 {
20384 this.ai[2] += 1f;
20385 if (this.ai[2] >= 40f)
20386 {
20387 velocity *= 0.98f;
20388 if (Main.expertMode)
20389 {
20390 velocity *= 0.985f;
20391 }
20392 if (Main.getGoodWorld)
20393 {
20394 velocity *= 0.99f;
20395 }
20396 if ((double)velocity.X > -0.1 && (double)velocity.X < 0.1)
20397 {
20398 velocity.X = 0f;
20399 }
20400 if ((double)velocity.Y > -0.1 && (double)velocity.Y < 0.1)
20401 {
20402 velocity.Y = 0f;
20403 }
20404 }
20405 else
20406 {
20407 rotation = (float)Math.Atan2(velocity.Y, velocity.X) - 1.57f;
20408 }
20409 int num796 = 150;
20410 if (Main.expertMode)
20411 {
20412 num796 = 100;
20413 }
20414 if (Main.getGoodWorld)
20415 {
20416 num796 -= 15;
20417 }
20418 if (this.ai[2] >= (float)num796)
20419 {
20420 this.ai[3] += 1f;
20421 this.ai[2] = 0f;
20422 target = 255;
20423 rotation = num1273;
20424 if (this.ai[3] >= 3f)
20425 {
20426 this.ai[1] = 0f;
20427 this.ai[3] = 0f;
20428 }
20429 else
20430 {
20431 this.ai[1] = 1f;
20432 }
20433 }
20434 }
20435 float num807 = 0.5f;
20436 if (Main.expertMode)
20437 {
20438 num807 = 0.65f;
20439 }
20440 if ((float)life < (float)lifeMax * num807)
20441 {
20442 this.ai[0] = 1f;
20443 this.ai[1] = 0f;
20444 this.ai[2] = 0f;
20445 this.ai[3] = 0f;
20446 netUpdate = true;
20447 if (netSpam > 10)
20448 {
20449 netSpam = 10;
20450 }
20451 }
20452 return;
20453 }
20454 if (this.ai[0] == 1f || this.ai[0] == 2f)
20455 {
20456 if (this.ai[0] == 1f || this.ai[3] == 1f)
20457 {
20458 this.ai[2] += 0.005f;
20459 if ((double)this.ai[2] > 0.5)
20460 {
20461 this.ai[2] = 0.5f;
20462 }
20463 }
20464 else
20465 {
20466 this.ai[2] -= 0.005f;
20467 if (this.ai[2] < 0f)
20468 {
20469 this.ai[2] = 0f;
20470 }
20471 }
20472 rotation += this.ai[2];
20473 this.ai[1] += 1f;
20474 if (Main.getGoodWorld)
20475 {
20476 reflectsProjectiles = true;
20477 }
20478 int num818 = 20;
20479 if (Main.getGoodWorld && life < lifeMax / 3)
20480 {
20481 num818 = 10;
20482 }
20483 if (Main.expertMode && this.ai[1] % (float)num818 == 0f)
20484 {
20485 float num830 = 5f;
20486 Vector2 vector263 = default(Vector2);
20487 ((Vector2)(ref vector263))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
20488 float num841 = Main.rand.Next(-200, 200);
20489 float num852 = Main.rand.Next(-200, 200);
20490 if (Main.getGoodWorld)
20491 {
20492 num841 *= 3f;
20493 num852 *= 3f;
20494 }
20495 float num863 = (float)Math.Sqrt(num841 * num841 + num852 * num852);
20496 num863 = num830 / num863;
20497 Vector2 vector274 = vector263;
20498 Vector2 vector285 = default(Vector2);
20499 vector285.X = num841 * num863;
20500 vector285.Y = num852 * num863;
20501 vector274.X += vector285.X * 10f;
20502 vector274.Y += vector285.Y * 10f;
20503 if (Main.netMode != 1)
20504 {
20506 Main.npc[num874].velocity.X = vector285.X;
20507 Main.npc[num874].velocity.Y = vector285.Y;
20508 if (Main.netMode == 2 && num874 < 200)
20509 {
20510 NetMessage.SendData(23, -1, -1, null, num874);
20511 }
20512 }
20513 for (int n = 0; n < 10; n++)
20514 {
20515 Vector2 val3 = vector274;
20516 float speedX4 = vector285.X * 0.4f;
20517 float speedY3 = vector285.Y * 0.4f;
20518 newColor = default(Color);
20519 Dust.NewDust(val3, 20, 20, 5, speedX4, speedY3, 0, newColor);
20520 }
20521 }
20522 if (this.ai[1] >= 100f)
20523 {
20524 if (this.ai[3] == 1f)
20525 {
20526 this.ai[3] = 0f;
20527 this.ai[1] = 0f;
20528 }
20529 else
20530 {
20531 this.ai[0] += 1f;
20532 this.ai[1] = 0f;
20533 if (this.ai[0] == 3f)
20534 {
20535 this.ai[2] = 0f;
20536 }
20537 else
20538 {
20539 SoundEngine.PlaySound(3, (int)position.X, (int)position.Y);
20540 for (int num885 = 0; num885 < 2; num885++)
20541 {
20542 Gore.NewGore(position, new Vector2((float)Main.rand.Next(-30, 31) * 0.2f, (float)Main.rand.Next(-30, 31) * 0.2f), 8);
20543 Gore.NewGore(position, new Vector2((float)Main.rand.Next(-30, 31) * 0.2f, (float)Main.rand.Next(-30, 31) * 0.2f), 7);
20544 Gore.NewGore(position, new Vector2((float)Main.rand.Next(-30, 31) * 0.2f, (float)Main.rand.Next(-30, 31) * 0.2f), 6);
20545 }
20546 for (int num896 = 0; num896 < 20; num896++)
20547 {
20548 Vector2 val4 = position;
20549 int num1608 = width;
20550 int num1609 = height;
20551 float speedX5 = (float)Main.rand.Next(-30, 31) * 0.2f;
20552 float speedY4 = (float)Main.rand.Next(-30, 31) * 0.2f;
20553 newColor = default(Color);
20554 Dust.NewDust(val4, num1608, num1609, 5, speedX5, speedY4, 0, newColor);
20555 }
20556 SoundEngine.PlaySound(15, (int)position.X, (int)position.Y, 0);
20557 }
20558 }
20559 }
20560 Vector2 val5 = position;
20561 int num1610 = width;
20562 int num1611 = height;
20563 float speedX6 = (float)Main.rand.Next(-30, 31) * 0.2f;
20564 float speedY5 = (float)Main.rand.Next(-30, 31) * 0.2f;
20565 newColor = default(Color);
20566 Dust.NewDust(val5, num1610, num1611, 5, speedX6, speedY5, 0, newColor);
20567 velocity.X *= 0.98f;
20568 velocity.Y *= 0.98f;
20569 if ((double)velocity.X > -0.1 && (double)velocity.X < 0.1)
20570 {
20571 velocity.X = 0f;
20572 }
20573 if ((double)velocity.Y > -0.1 && (double)velocity.Y < 0.1)
20574 {
20575 velocity.Y = 0f;
20576 }
20577 return;
20578 }
20579 defense = 0;
20580 int num907 = 23;
20581 int num918 = 18;
20582 if (Main.expertMode)
20583 {
20584 if (flag24)
20585 {
20586 defense = -15;
20587 }
20588 if (flag35)
20589 {
20590 num918 = 20;
20591 defense = -30;
20592 }
20593 }
20596 if (this.ai[1] == 0f && flag24)
20597 {
20598 this.ai[1] = 5f;
20599 }
20600 if (this.ai[1] == 0f)
20601 {
20602 float num929 = 6f;
20603 float num941 = 0.07f;
20604 Vector2 vector296 = default(Vector2);
20605 ((Vector2)(ref vector296))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
20606 float num952 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector296.X;
20607 float num963 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - 120f - vector296.Y;
20608 float num974 = (float)Math.Sqrt(num952 * num952 + num963 * num963);
20609 if (num974 > 400f && Main.expertMode)
20610 {
20611 num929 += 1f;
20612 num941 += 0.05f;
20613 if (num974 > 600f)
20614 {
20615 num929 += 1f;
20616 num941 += 0.05f;
20617 if (num974 > 800f)
20618 {
20619 num929 += 1f;
20620 num941 += 0.05f;
20621 }
20622 }
20623 }
20624 if (Main.getGoodWorld)
20625 {
20626 num929 += 1f;
20627 num941 += 0.1f;
20628 }
20629 num974 = num929 / num974;
20630 num952 *= num974;
20631 num963 *= num974;
20632 if (velocity.X < num952)
20633 {
20634 velocity.X += num941;
20635 if (velocity.X < 0f && num952 > 0f)
20636 {
20637 velocity.X += num941;
20638 }
20639 }
20640 else if (velocity.X > num952)
20641 {
20642 velocity.X -= num941;
20643 if (velocity.X > 0f && num952 < 0f)
20644 {
20645 velocity.X -= num941;
20646 }
20647 }
20648 if (velocity.Y < num963)
20649 {
20650 velocity.Y += num941;
20651 if (velocity.Y < 0f && num963 > 0f)
20652 {
20653 velocity.Y += num941;
20654 }
20655 }
20656 else if (velocity.Y > num963)
20657 {
20658 velocity.Y -= num941;
20659 if (velocity.Y > 0f && num963 < 0f)
20660 {
20661 velocity.Y -= num941;
20662 }
20663 }
20664 this.ai[2] += 1f;
20665 if (this.ai[2] >= 200f)
20666 {
20667 this.ai[1] = 1f;
20668 this.ai[2] = 0f;
20669 this.ai[3] = 0f;
20670 if (Main.expertMode && (double)life < (double)lifeMax * 0.35)
20671 {
20672 this.ai[1] = 3f;
20673 }
20674 target = 255;
20675 netUpdate = true;
20676 }
20677 if (Main.expertMode && flag35)
20678 {
20679 TargetClosest();
20680 netUpdate = true;
20681 this.ai[1] = 3f;
20682 this.ai[2] = 0f;
20683 this.ai[3] -= 1000f;
20684 }
20685 }
20686 else if (this.ai[1] == 1f)
20687 {
20688 SoundEngine.PlaySound(36, (int)position.X, (int)position.Y, 0);
20689 rotation = num1273;
20690 float num985 = 6.8f;
20691 if (Main.expertMode && this.ai[3] == 1f)
20692 {
20693 num985 *= 1.15f;
20694 }
20695 if (Main.expertMode && this.ai[3] == 2f)
20696 {
20697 num985 *= 1.3f;
20698 }
20699 if (Main.getGoodWorld)
20700 {
20701 num985 *= 1.2f;
20702 }
20703 Vector2 vector307 = default(Vector2);
20704 ((Vector2)(ref vector307))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
20705 float num996 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector307.X;
20706 float num1007 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector307.Y;
20707 float num1018 = (float)Math.Sqrt(num996 * num996 + num1007 * num1007);
20709 velocity.X = num996 * num1018;
20710 velocity.Y = num1007 * num1018;
20711 this.ai[1] = 2f;
20712 netUpdate = true;
20713 if (netSpam > 10)
20714 {
20715 netSpam = 10;
20716 }
20717 }
20718 else if (this.ai[1] == 2f)
20719 {
20720 float num1029 = 40f;
20721 this.ai[2] += 1f;
20722 if (Main.expertMode)
20723 {
20724 num1029 = 50f;
20725 }
20726 if (this.ai[2] >= num1029)
20727 {
20728 velocity *= 0.97f;
20729 if (Main.expertMode)
20730 {
20731 velocity *= 0.98f;
20732 }
20733 if ((double)velocity.X > -0.1 && (double)velocity.X < 0.1)
20734 {
20735 velocity.X = 0f;
20736 }
20737 if ((double)velocity.Y > -0.1 && (double)velocity.Y < 0.1)
20738 {
20739 velocity.Y = 0f;
20740 }
20741 }
20742 else
20743 {
20744 rotation = (float)Math.Atan2(velocity.Y, velocity.X) - 1.57f;
20745 }
20746 int num1040 = 130;
20747 if (Main.expertMode)
20748 {
20749 num1040 = 90;
20750 }
20751 if (this.ai[2] >= (float)num1040)
20752 {
20753 this.ai[3] += 1f;
20754 this.ai[2] = 0f;
20755 target = 255;
20756 rotation = num1273;
20757 if (this.ai[3] >= 3f)
20758 {
20759 this.ai[1] = 0f;
20760 this.ai[3] = 0f;
20761 if (Main.expertMode && Main.netMode != 1 && (double)life < (double)lifeMax * 0.5)
20762 {
20763 this.ai[1] = 3f;
20764 this.ai[3] += Main.rand.Next(1, 4);
20765 }
20766 netUpdate = true;
20767 if (netSpam > 10)
20768 {
20769 netSpam = 10;
20770 }
20771 }
20772 else
20773 {
20774 this.ai[1] = 1f;
20775 }
20776 }
20777 }
20778 else if (this.ai[1] == 3f)
20779 {
20780 if (this.ai[3] == 4f && flag24 && base.Center.Y > Main.player[target].Center.Y)
20781 {
20782 TargetClosest();
20783 this.ai[1] = 0f;
20784 this.ai[2] = 0f;
20785 this.ai[3] = 0f;
20786 netUpdate = true;
20787 if (netSpam > 10)
20788 {
20789 netSpam = 10;
20790 }
20791 }
20792 else if (Main.netMode != 1)
20793 {
20794 TargetClosest();
20795 float num1052 = 20f;
20796 Vector2 vector2 = default(Vector2);
20797 ((Vector2)(ref vector2))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
20798 float num1063 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector2.X;
20799 float num1074 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector2.Y;
20800 float num1085 = Math.Abs(Main.player[target].velocity.X) + Math.Abs(Main.player[target].velocity.Y) / 4f;
20801 num1085 += 10f - num1085;
20802 if (num1085 < 5f)
20803 {
20804 num1085 = 5f;
20805 }
20806 if (num1085 > 15f)
20807 {
20808 num1085 = 15f;
20809 }
20810 if (this.ai[2] == -1f && !flag35)
20811 {
20812 num1085 *= 4f;
20813 num1052 *= 1.3f;
20814 }
20815 if (flag35)
20816 {
20817 num1085 *= 2f;
20818 }
20819 num1063 -= Main.player[target].velocity.X * num1085;
20820 num1074 -= Main.player[target].velocity.Y * num1085 / 4f;
20821 num1063 *= 1f + (float)Main.rand.Next(-10, 11) * 0.01f;
20822 num1074 *= 1f + (float)Main.rand.Next(-10, 11) * 0.01f;
20823 if (flag35)
20824 {
20825 num1063 *= 1f + (float)Main.rand.Next(-10, 11) * 0.01f;
20826 num1074 *= 1f + (float)Main.rand.Next(-10, 11) * 0.01f;
20827 }
20828 float num1096 = (float)Math.Sqrt(num1063 * num1063 + num1074 * num1074);
20829 float num1107 = num1096;
20831 velocity.X = num1063 * num1096;
20832 velocity.Y = num1074 * num1096;
20833 velocity.X += (float)Main.rand.Next(-20, 21) * 0.1f;
20834 velocity.Y += (float)Main.rand.Next(-20, 21) * 0.1f;
20835 if (flag35)
20836 {
20837 velocity.X += (float)Main.rand.Next(-50, 51) * 0.1f;
20838 velocity.Y += (float)Main.rand.Next(-50, 51) * 0.1f;
20839 float num1118 = Math.Abs(velocity.X);
20840 float num1129 = Math.Abs(velocity.Y);
20841 if (base.Center.X > Main.player[target].Center.X)
20842 {
20843 num1129 *= -1f;
20844 }
20845 if (base.Center.Y > Main.player[target].Center.Y)
20846 {
20847 num1118 *= -1f;
20848 }
20849 velocity.X = num1129 + velocity.X;
20850 velocity.Y = num1118 + velocity.Y;
20851 ((Vector2)(ref velocity)).Normalize();
20852 velocity *= num1052;
20853 velocity.X += (float)Main.rand.Next(-20, 21) * 0.1f;
20854 velocity.Y += (float)Main.rand.Next(-20, 21) * 0.1f;
20855 }
20856 else if (num1107 < 100f)
20857 {
20858 if (Math.Abs(velocity.X) > Math.Abs(velocity.Y))
20859 {
20860 float num1140 = Math.Abs(velocity.X);
20861 float num1151 = Math.Abs(velocity.Y);
20862 if (base.Center.X > Main.player[target].Center.X)
20863 {
20864 num1151 *= -1f;
20865 }
20866 if (base.Center.Y > Main.player[target].Center.Y)
20867 {
20868 num1140 *= -1f;
20869 }
20870 velocity.X = num1151;
20871 velocity.Y = num1140;
20872 }
20873 }
20874 else if (Math.Abs(velocity.X) > Math.Abs(velocity.Y))
20875 {
20876 float num1163 = (Math.Abs(velocity.X) + Math.Abs(velocity.Y)) / 2f;
20877 float num1174 = num1163;
20878 if (base.Center.X > Main.player[target].Center.X)
20879 {
20880 num1174 *= -1f;
20881 }
20882 if (base.Center.Y > Main.player[target].Center.Y)
20883 {
20884 num1163 *= -1f;
20885 }
20886 velocity.X = num1174;
20887 velocity.Y = num1163;
20888 }
20889 this.ai[1] = 4f;
20890 netUpdate = true;
20891 if (netSpam > 10)
20892 {
20893 netSpam = 10;
20894 }
20895 }
20896 }
20897 else if (this.ai[1] == 4f)
20898 {
20899 if (this.ai[2] == 0f)
20900 {
20901 SoundEngine.PlaySound(36, (int)position.X, (int)position.Y, -1);
20902 }
20903 float num1185 = num940;
20904 this.ai[2] += 1f;
20905 if (this.ai[2] == num1185 && Vector2.Distance(position, Main.player[target].position) < 200f)
20906 {
20907 this.ai[2] -= 1f;
20908 }
20909 if (this.ai[2] >= num1185)
20910 {
20911 velocity *= 0.95f;
20912 if ((double)velocity.X > -0.1 && (double)velocity.X < 0.1)
20913 {
20914 velocity.X = 0f;
20915 }
20916 if ((double)velocity.Y > -0.1 && (double)velocity.Y < 0.1)
20917 {
20918 velocity.Y = 0f;
20919 }
20920 }
20921 else
20922 {
20923 rotation = (float)Math.Atan2(velocity.Y, velocity.X) - 1.57f;
20924 }
20925 float num1196 = num1185 + 13f;
20926 if (this.ai[2] >= num1196)
20927 {
20928 netUpdate = true;
20929 if (netSpam > 10)
20930 {
20931 netSpam = 10;
20932 }
20933 this.ai[3] += 1f;
20934 this.ai[2] = 0f;
20935 if (this.ai[3] >= 5f)
20936 {
20937 this.ai[1] = 0f;
20938 this.ai[3] = 0f;
20939 if (target >= 0 && Main.getGoodWorld && Collision.CanHit(position, width, height, Main.player[target].position, width, height))
20940 {
20941 SoundEngine.PlaySound(15, (int)position.X, (int)position.Y, 0);
20942 this.ai[0] = 2f;
20943 this.ai[1] = 0f;
20944 this.ai[2] = 0f;
20945 this.ai[3] = 1f;
20946 netUpdate = true;
20947 }
20948 }
20949 else
20950 {
20951 this.ai[1] = 3f;
20952 }
20953 }
20954 }
20955 else if (this.ai[1] == 5f)
20956 {
20957 float num1207 = 600f;
20958 float num1218 = 9f;
20959 float num1229 = 0.3f;
20960 Vector2 vector13 = default(Vector2);
20961 ((Vector2)(ref vector13))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
20962 float num1240 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector13.X;
20963 float num1251 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) + num1207 - vector13.Y;
20964 float num1262 = (float)Math.Sqrt(num1240 * num1240 + num1251 * num1251);
20966 num1240 *= num1262;
20967 num1251 *= num1262;
20968 if (velocity.X < num1240)
20969 {
20970 velocity.X += num1229;
20971 if (velocity.X < 0f && num1240 > 0f)
20972 {
20973 velocity.X += num1229;
20974 }
20975 }
20976 else if (velocity.X > num1240)
20977 {
20978 velocity.X -= num1229;
20979 if (velocity.X > 0f && num1240 < 0f)
20980 {
20981 velocity.X -= num1229;
20982 }
20983 }
20984 if (velocity.Y < num1251)
20985 {
20986 velocity.Y += num1229;
20987 if (velocity.Y < 0f && num1251 > 0f)
20988 {
20989 velocity.Y += num1229;
20990 }
20991 }
20992 else if (velocity.Y > num1251)
20993 {
20994 velocity.Y -= num1229;
20995 if (velocity.Y > 0f && num1251 < 0f)
20996 {
20997 velocity.Y -= num1229;
20998 }
20999 }
21000 this.ai[2] += 1f;
21001 if (this.ai[2] >= 70f)
21002 {
21003 TargetClosest();
21004 this.ai[1] = 3f;
21005 this.ai[2] = -1f;
21006 this.ai[3] = Main.rand.Next(-3, 1);
21007 netUpdate = true;
21008 }
21009 }
21010 if (flag35 && this.ai[1] == 5f)
21011 {
21012 this.ai[1] = 3f;
21013 }
21014 return;
21015 }
21016 if (aiStyle == 5)
21017 {
21019 return;
21020 }
21021 if (aiStyle == 6)
21022 {
21023 AI_006_Worms();
21024 return;
21025 }
21026 if (aiStyle == 7)
21027 {
21029 return;
21030 }
21031 if (aiStyle == 8)
21032 {
21033 TargetClosest();
21034 velocity.X *= 0.93f;
21035 if ((double)velocity.X > -0.1 && (double)velocity.X < 0.1)
21036 {
21037 velocity.X = 0f;
21038 }
21039 if (this.ai[0] == 0f)
21040 {
21041 this.ai[0] = 500f;
21042 }
21043 if (type == 172)
21044 {
21045 if (alpha < 255)
21046 {
21047 alpha++;
21048 }
21049 if (justHit)
21050 {
21051 alpha = 0;
21052 }
21053 }
21054 if (this.ai[2] != 0f && this.ai[3] != 0f)
21055 {
21057 if (type == 172)
21058 {
21059 alpha = 255;
21060 }
21062 for (int num1274 = 0; num1274 < 50; num1274++)
21063 {
21064 if (type == 29 || type == 45)
21065 {
21066 Vector2 val6 = new Vector2(position.X, position.Y);
21067 int num1612 = width;
21068 int num1613 = height;
21069 newColor = default(Color);
21070 int num1285 = Dust.NewDust(val6, num1612, num1613, 27, 0f, 0f, 100, newColor, Main.rand.Next(1, 3));
21071 Dust dust12 = Main.dust[num1285];
21072 Dust dust87 = dust12;
21073 dust87.velocity *= 3f;
21074 if (Main.dust[num1285].scale > 1f)
21075 {
21076 Main.dust[num1285].noGravity = true;
21077 }
21078 }
21079 else if (type == 32)
21080 {
21081 Vector2 val7 = new Vector2(position.X, position.Y);
21082 int num1614 = width;
21083 int num1615 = height;
21084 newColor = default(Color);
21085 int num1296 = Dust.NewDust(val7, num1614, num1615, 172, 0f, 0f, 100, newColor, 1.5f);
21086 Dust dust13 = Main.dust[num1296];
21087 Dust dust87 = dust13;
21088 dust87.velocity *= 3f;
21089 Main.dust[num1296].noGravity = true;
21090 }
21091 else if (type == 283 || type == 284)
21092 {
21093 Vector2 val8 = new Vector2(position.X, position.Y);
21094 int num1616 = width;
21095 int num1617 = height;
21096 newColor = default(Color);
21097 int num1307 = Dust.NewDust(val8, num1616, num1617, 173, 0f, 0f, 0, newColor);
21098 Dust dust14 = Main.dust[num1307];
21099 Dust dust87 = dust14;
21100 dust87.velocity *= 2f;
21101 Main.dust[num1307].scale = 1.4f;
21102 }
21103 else if (type == 285 || type == 286)
21104 {
21105 Vector2 val9 = new Vector2(position.X, position.Y);
21106 int num1618 = width;
21107 int num1619 = height;
21108 newColor = default(Color);
21109 int num1318 = Dust.NewDust(val9, num1618, num1619, 174, 0f, 0f, 100, newColor, 1.5f);
21110 Dust dust15 = Main.dust[num1318];
21111 Dust dust87 = dust15;
21112 dust87.velocity *= 3f;
21113 Main.dust[num1318].noGravity = true;
21114 }
21115 else if (type == 281 || type == 282)
21116 {
21117 Vector2 val10 = new Vector2(position.X, position.Y);
21118 int num1620 = width;
21119 int num1621 = height;
21120 newColor = default(Color);
21121 int num1329 = Dust.NewDust(val10, num1620, num1621, 175, 0f, 0f, 100, newColor, 1.5f);
21122 Dust dust16 = Main.dust[num1329];
21123 Dust dust87 = dust16;
21124 dust87.velocity *= 3f;
21125 Main.dust[num1329].noGravity = true;
21126 }
21127 else if (type == 172)
21128 {
21129 Vector2 val11 = new Vector2(position.X, position.Y);
21130 int num1622 = width;
21131 int num1623 = height;
21132 newColor = default(Color);
21133 int num1340 = Dust.NewDust(val11, num1622, num1623, 106, 0f, 0f, 100, newColor, 2.5f);
21134 Dust dust17 = Main.dust[num1340];
21135 Dust dust87 = dust17;
21136 dust87.velocity *= 3f;
21137 Main.dust[num1340].noGravity = true;
21138 }
21139 else if (type == 533)
21140 {
21141 Vector2 val12 = position;
21142 int num1624 = width;
21143 int num1625 = height;
21144 newColor = default(Color);
21145 int num1351 = Dust.NewDust(val12, num1624, num1625, 27, 0f, 0f, 100, newColor, 2.5f);
21146 Dust dust18 = Main.dust[num1351];
21147 Dust dust87 = dust18;
21148 dust87.velocity *= 3f;
21149 Main.dust[num1351].noGravity = true;
21150 }
21151 else
21152 {
21153 Vector2 val13 = new Vector2(position.X, position.Y);
21154 int num1626 = width;
21155 int num1627 = height;
21156 newColor = default(Color);
21157 int num1362 = Dust.NewDust(val13, num1626, num1627, 6, 0f, 0f, 100, newColor, 2.5f);
21158 Dust dust19 = Main.dust[num1362];
21159 Dust dust87 = dust19;
21160 dust87.velocity *= 3f;
21161 Main.dust[num1362].noGravity = true;
21162 }
21163 }
21165 position.X = this.ai[2] * 16f - (float)(width / 2) + 8f;
21166 position.Y = this.ai[3] * 16f - (float)height;
21167 netOffset *= 0f;
21168 velocity.X = 0f;
21169 velocity.Y = 0f;
21170 this.ai[2] = 0f;
21171 this.ai[3] = 0f;
21173 for (int num1373 = 0; num1373 < 50; num1373++)
21174 {
21175 if (type == 29 || type == 45)
21176 {
21177 Vector2 val14 = new Vector2(position.X, position.Y);
21178 int num1628 = width;
21179 int num1629 = height;
21180 newColor = default(Color);
21181 int num1385 = Dust.NewDust(val14, num1628, num1629, 27, 0f, 0f, 100, newColor, Main.rand.Next(1, 3));
21182 Dust dust4 = Main.dust[num1385];
21183 Dust dust87 = dust4;
21184 dust87.velocity *= 3f;
21185 if (Main.dust[num1385].scale > 1f)
21186 {
21187 Main.dust[num1385].noGravity = true;
21188 }
21189 }
21190 else if (type == 32)
21191 {
21192 Vector2 val15 = new Vector2(position.X, position.Y);
21193 int num1630 = width;
21194 int num1631 = height;
21195 newColor = default(Color);
21196 int num1396 = Dust.NewDust(val15, num1630, num1631, 172, 0f, 0f, 100, newColor, 1.5f);
21197 Dust dust5 = Main.dust[num1396];
21198 Dust dust87 = dust5;
21199 dust87.velocity *= 3f;
21200 Main.dust[num1396].noGravity = true;
21201 }
21202 else if (type == 172)
21203 {
21204 Vector2 val16 = new Vector2(position.X, position.Y);
21205 int num1632 = width;
21206 int num1633 = height;
21207 newColor = default(Color);
21208 int num1407 = Dust.NewDust(val16, num1632, num1633, 106, 0f, 0f, 100, newColor, 2.5f);
21209 Dust dust6 = Main.dust[num1407];
21210 Dust dust87 = dust6;
21211 dust87.velocity *= 3f;
21212 Main.dust[num1407].noGravity = true;
21213 }
21214 else if (type == 283 || type == 284)
21215 {
21216 Vector2 val17 = new Vector2(position.X, position.Y);
21217 int num1634 = width;
21218 int num1635 = height;
21219 newColor = default(Color);
21220 int num1418 = Dust.NewDust(val17, num1634, num1635, 173, 0f, 0f, 0, newColor);
21221 Dust dust7 = Main.dust[num1418];
21222 Dust dust87 = dust7;
21223 dust87.velocity *= 2f;
21224 Main.dust[num1418].scale = 1.4f;
21225 }
21226 else if (type == 285 || type == 286)
21227 {
21228 Vector2 val18 = new Vector2(position.X, position.Y);
21229 int num1636 = width;
21230 int num1637 = height;
21231 newColor = default(Color);
21232 int num1429 = Dust.NewDust(val18, num1636, num1637, 174, 0f, 0f, 100, newColor, 1.5f);
21233 Dust dust8 = Main.dust[num1429];
21234 Dust dust87 = dust8;
21235 dust87.velocity *= 3f;
21236 Main.dust[num1429].noGravity = true;
21237 }
21238 else if (type == 281 || type == 282)
21239 {
21240 Vector2 val19 = new Vector2(position.X, position.Y);
21241 int num1638 = width;
21242 int num1639 = height;
21243 newColor = default(Color);
21244 int num1440 = Dust.NewDust(val19, num1638, num1639, 175, 0f, 0f, 100, newColor, 1.5f);
21245 Dust dust9 = Main.dust[num1440];
21246 Dust dust87 = dust9;
21247 dust87.velocity *= 3f;
21248 Main.dust[num1440].noGravity = true;
21249 }
21250 else if (type == 533)
21251 {
21252 Vector2 val20 = position;
21253 int num1640 = width;
21254 int num1641 = height;
21255 newColor = default(Color);
21256 int num1451 = Dust.NewDust(val20, num1640, num1641, 27, 0f, 0f, 100, newColor, 2.5f);
21257 Dust dust10 = Main.dust[num1451];
21258 Dust dust87 = dust10;
21259 dust87.velocity *= 3f;
21260 Main.dust[num1451].noGravity = true;
21261 }
21262 else
21263 {
21264 Vector2 val21 = new Vector2(position.X, position.Y);
21265 int num1642 = width;
21266 int num1643 = height;
21267 newColor = default(Color);
21268 int num1462 = Dust.NewDust(val21, num1642, num1643, 6, 0f, 0f, 100, newColor, 2.5f);
21269 Dust dust11 = Main.dust[num1462];
21270 Dust dust87 = dust11;
21271 dust87.velocity *= 3f;
21272 Main.dust[num1462].noGravity = true;
21273 }
21274 }
21275 }
21276 this.ai[0] += 1f;
21277 if (type == 283 || type == 284)
21278 {
21279 if (this.ai[0] == 100f || this.ai[0] == 150f || this.ai[0] == 200f || this.ai[0] == 250f || this.ai[0] == 300f)
21280 {
21281 this.ai[1] = 30f;
21282 netUpdate = true;
21283 }
21284 if (this.ai[0] >= 450f)
21285 {
21286 this.ai[0] = 700f;
21287 }
21288 }
21289 else if (type == 172)
21290 {
21291 if (this.ai[0] == 75f || this.ai[0] == 150f || this.ai[0] == 225f || this.ai[0] == 300f || this.ai[0] == 375f || this.ai[0] == 450f)
21292 {
21293 this.ai[1] = 30f;
21294 netUpdate = true;
21295 }
21296 }
21297 else if (type == 533)
21298 {
21299 if (this.ai[0] == 180f)
21300 {
21301 this.ai[1] = 181f;
21302 netUpdate = true;
21303 }
21304 }
21305 else if (type == 281 || type == 282)
21306 {
21307 if (this.ai[0] == 100f || this.ai[0] == 120f || this.ai[0] == 140f || this.ai[0] == 200f || this.ai[0] == 220f || this.ai[0] == 240f || this.ai[0] == 300f || this.ai[0] == 320f || this.ai[0] == 340f)
21308 {
21309 this.ai[1] = 30f;
21310 netUpdate = true;
21311 }
21312 if (this.ai[0] >= 540f)
21313 {
21314 this.ai[0] = 700f;
21315 }
21316 }
21317 else
21318 {
21319 if (Main.getGoodWorld && type == 24 && AnyNPCs(113))
21320 {
21321 this.ai[0] += 1f;
21322 if (this.ai[0] % 2f == 1f)
21323 {
21324 this.ai[0] -= 1f;
21325 }
21326 }
21327 if (this.ai[0] == 100f || this.ai[0] == 200f || this.ai[0] == 300f)
21328 {
21329 this.ai[1] = 30f;
21330 netUpdate = true;
21331 }
21332 }
21333 if ((type == 285 || type == 286) && this.ai[0] > 400f)
21334 {
21335 this.ai[0] = 650f;
21336 }
21337 if (type == 533 && this.ai[0] >= 360f)
21338 {
21339 this.ai[0] = 650f;
21340 }
21341 if (this.ai[0] >= 650f && Main.netMode != 1)
21342 {
21343 this.ai[0] = 1f;
21344 int targetTileX = (int)Main.player[target].Center.X / 16;
21345 int targetTileY = (int)Main.player[target].Center.Y / 16;
21346 Vector2 chosenTile = Vector2.Zero;
21348 {
21349 this.ai[1] = 20f;
21350 this.ai[2] = chosenTile.X;
21351 this.ai[3] = chosenTile.Y;
21352 }
21353 netUpdate = true;
21354 }
21355 if (this.ai[1] > 0f)
21356 {
21357 this.ai[1] -= 1f;
21358 if (type == 533)
21359 {
21360 if (this.ai[1] % 30f == 0f && this.ai[1] / 30f < 5f)
21361 {
21363 if (Main.netMode != 1)
21364 {
21365 Point point = base.Center.ToTileCoordinates();
21366 Point point9 = Main.player[target].Center.ToTileCoordinates();
21367 Vector2 vector24 = Main.player[target].Center - base.Center;
21368 int num1473 = 6;
21369 int num1484 = 6;
21370 int num1496 = 0;
21371 int num1507 = 2;
21372 int num1518 = 0;
21373 bool flag46 = false;
21374 if (((Vector2)(ref vector24)).Length() > 2000f)
21375 {
21376 flag46 = true;
21377 }
21378 while (!flag46 && num1518 < 50)
21379 {
21380 num1518++;
21381 int num1529 = Main.rand.Next(point9.X - num1473, point9.X + num1473 + 1);
21382 int num1540 = Main.rand.Next(point9.Y - num1473, point9.Y + num1473 + 1);
21384 {
21385 bool flag57 = true;
21386 if (flag57 && Main.tile[num1529, num1540].lava())
21387 {
21388 flag57 = false;
21389 }
21390 if (flag57 && Collision.SolidTiles(num1529 - num1507, num1529 + num1507, num1540 - num1507, num1540 + num1507))
21391 {
21392 flag57 = false;
21393 }
21394 if (flag57)
21395 {
21396 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), num1529 * 16 + 8, num1540 * 16 + 8, 0f, 0f, 596, 0, 1f, Main.myPlayer, target);
21397 flag46 = true;
21398 break;
21399 }
21400 }
21401 }
21402 }
21403 }
21404 }
21405 else if (this.ai[1] == 25f)
21406 {
21407 if (type >= 281 && type <= 286)
21408 {
21409 if (Main.netMode != 1)
21410 {
21411 float num1551 = 6f;
21412 if (type == 285 || type == 286)
21413 {
21414 num1551 = 8f;
21415 }
21416 if (type == 281 || type == 282)
21417 {
21418 num1551 = 4f;
21419 }
21420 Vector2 vector35 = default(Vector2);
21421 ((Vector2)(ref vector35))._002Ector(position.X + (float)width * 0.5f, position.Y);
21422 float num1562 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector35.X;
21423 float num1573 = Main.player[target].position.Y + (float)Main.player[target].height * 0.5f - vector35.Y;
21424 if (type == 283 || type == 284)
21425 {
21426 num1562 += (float)Main.rand.Next(-30, 31);
21427 num1573 += (float)Main.rand.Next(-30, 31);
21428 num1562 -= Main.player[target].velocity.X * 10f;
21429 num1573 -= Main.player[target].velocity.Y * 10f;
21430 }
21431 float num1584 = (float)Math.Sqrt(num1562 * num1562 + num1573 * num1573);
21433 num1562 *= num1584;
21434 num1573 *= num1584;
21435 int num1595 = 30;
21436 int num3 = 290;
21437 if (type == 285 || type == 286)
21438 {
21439 num3 = 291;
21440 num1595 = 40;
21441 }
21442 if (type == 281 || type == 282)
21443 {
21444 num3 = 293;
21445 num1595 = 40;
21446 }
21448 int num14 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector35.X, vector35.Y, num1562, num1573, num3, num1595, 0f, Main.myPlayer);
21449 Main.projectile[num14].timeLeft = 300;
21450 if (num3 == 291)
21451 {
21452 Main.projectile[num14].ai[0] = Main.player[target].Center.X;
21453 Main.projectile[num14].ai[1] = Main.player[target].Center.Y;
21454 Main.projectile[num14].netUpdate = true;
21455 }
21456 localAI[0] = 0f;
21457 }
21458 }
21459 else
21460 {
21461 if (type != 172)
21462 {
21464 }
21465 if (Main.netMode != 1)
21466 {
21467 if (type == 29)
21468 {
21469 NewNPC(GetSpawnSourceForProjectileNPC(), (int)position.X + width / 2, (int)position.Y - 8, 30);
21470 }
21471 else if (type == 45)
21472 {
21473 NewNPC(GetSpawnSourceForProjectileNPC(), (int)position.X + width / 2, (int)position.Y - 8, 665);
21474 }
21475 else if (type == 32)
21476 {
21477 NewNPC(GetSpawnSourceForProjectileNPC(), (int)position.X + width / 2, (int)position.Y - 8, 33);
21478 }
21479 else if (type == 172)
21480 {
21481 float num25 = 10f;
21482 Vector2 vector46 = default(Vector2);
21483 ((Vector2)(ref vector46))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
21484 float num36 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector46.X + (float)Main.rand.Next(-10, 11);
21485 float num47 = Main.player[target].position.Y + (float)Main.player[target].height * 0.5f - vector46.Y + (float)Main.rand.Next(-10, 11);
21486 float num58 = (float)Math.Sqrt(num36 * num36 + num47 * num47);
21487 num58 = num25 / num58;
21488 num36 *= num58;
21489 num47 *= num58;
21490 int num69 = 40;
21491 int num80 = 129;
21492 int num91 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector46.X, vector46.Y, num36, num47, num80, num69, 0f, Main.myPlayer);
21493 Main.projectile[num91].timeLeft = 300;
21494 localAI[0] = 0f;
21495 }
21496 else
21497 {
21498 NewNPC(GetSpawnSourceForProjectileNPC(), (int)position.X + width / 2 + direction * 8, (int)position.Y + 20, 25);
21499 }
21500 }
21501 }
21502 }
21503 }
21505 if (type == 29 || type == 45)
21506 {
21507 if (Main.rand.Next(5) == 0)
21508 {
21509 Vector2 val22 = new Vector2(position.X, position.Y + 2f);
21510 int num1644 = width;
21511 int num1645 = height;
21512 float speedX7 = velocity.X * 0.2f;
21513 float speedY6 = velocity.Y * 0.2f;
21514 newColor = default(Color);
21515 int num102 = Dust.NewDust(val22, num1644, num1645, 27, speedX7, speedY6, 100, newColor, 1.5f);
21516 Main.dust[num102].noGravity = true;
21517 Main.dust[num102].velocity.X *= 0.5f;
21518 Main.dust[num102].velocity.Y = -2f;
21519 }
21520 }
21521 else if (type == 32)
21522 {
21523 if (Main.rand.Next(3) != 0)
21524 {
21525 Vector2 val23 = new Vector2(position.X, position.Y + 2f);
21526 int num1646 = width;
21527 int num1647 = height;
21528 float speedX8 = velocity.X * 0.2f;
21529 float speedY7 = velocity.Y * 0.2f;
21530 newColor = default(Color);
21531 int num114 = Dust.NewDust(val23, num1646, num1647, 172, speedX8, speedY7, 100, newColor, 0.9f);
21532 Main.dust[num114].noGravity = true;
21533 Main.dust[num114].velocity.X *= 0.3f;
21534 Main.dust[num114].velocity.Y *= 0.2f;
21535 Main.dust[num114].velocity.Y -= 1f;
21536 }
21537 }
21538 else if (type == 172)
21539 {
21540 int num125 = 1;
21541 if (alpha == 255)
21542 {
21543 num125 = 2;
21544 }
21545 for (int num136 = 0; num136 < num125; num136++)
21546 {
21547 if (Main.rand.Next(255) > 255 - alpha)
21548 {
21549 Vector2 val24 = new Vector2(position.X, position.Y + 2f);
21550 int num1648 = width;
21551 int num1649 = height;
21552 float speedX9 = velocity.X * 0.2f;
21553 float speedY8 = velocity.Y * 0.2f;
21554 newColor = default(Color);
21555 int num147 = Dust.NewDust(val24, num1648, num1649, 106, speedX9, speedY8, 100, newColor, 1.2f);
21556 Main.dust[num147].noGravity = true;
21557 Main.dust[num147].velocity.X *= 0.1f + (float)Main.rand.Next(30) * 0.01f;
21558 Main.dust[num147].velocity.Y *= 0.1f + (float)Main.rand.Next(30) * 0.01f;
21559 Dust dust = Main.dust[num147];
21560 Dust dust87 = dust;
21561 dust87.scale *= 1f + (float)Main.rand.Next(6) * 0.1f;
21562 }
21563 }
21564 }
21565 else if (type == 283 || type == 284)
21566 {
21567 if (Main.rand.Next(2) == 0)
21568 {
21569 Vector2 val25 = new Vector2(position.X, position.Y + 2f);
21570 int num1650 = width;
21571 int num1651 = height;
21572 newColor = default(Color);
21573 int num158 = Dust.NewDust(val25, num1650, num1651, 173, 0f, 0f, 0, newColor);
21574 Main.dust[num158].velocity.X *= 0.5f;
21575 Main.dust[num158].velocity.Y *= 0.5f;
21576 }
21577 }
21578 else if (type == 285 || type == 286)
21579 {
21580 if (Main.rand.Next(2) == 0)
21581 {
21582 Vector2 val26 = new Vector2(position.X, position.Y + 2f);
21583 int num1652 = width;
21584 int num1653 = height;
21585 float speedX10 = velocity.X * 0.2f;
21586 float speedY9 = velocity.Y * 0.2f;
21587 newColor = default(Color);
21588 int num169 = Dust.NewDust(val26, num1652, num1653, 174, speedX10, speedY9, 100, newColor);
21589 Main.dust[num169].noGravity = true;
21590 Dust dust2 = Main.dust[num169];
21591 Dust dust87 = dust2;
21592 dust87.velocity *= 0.4f;
21593 Main.dust[num169].velocity.Y -= 0.7f;
21594 }
21595 }
21596 else if (type == 281 || type == 282)
21597 {
21598 if (Main.rand.Next(2) == 0)
21599 {
21600 Vector2 val27 = new Vector2(position.X, position.Y + 2f);
21601 int num1654 = width;
21602 int num1655 = height;
21603 float speedX11 = velocity.X * 0.2f;
21604 float speedY10 = velocity.Y * 0.2f;
21605 newColor = default(Color);
21606 int num180 = Dust.NewDust(val27, num1654, num1655, 175, speedX11, speedY10, 100, newColor, 0.1f);
21607 Main.dust[num180].noGravity = true;
21608 Dust dust3 = Main.dust[num180];
21609 Dust dust87 = dust3;
21610 dust87.velocity *= 0.5f;
21611 Main.dust[num180].fadeIn = 1.2f;
21612 }
21613 }
21614 else if (type == 533)
21615 {
21616 Lighting.AddLight(base.Top, 0.6f, 0.6f, 0.3f);
21617 }
21618 else if (Main.rand.Next(2) == 0)
21619 {
21620 Vector2 val28 = new Vector2(position.X, position.Y + 2f);
21621 int num1656 = width;
21622 int num1657 = height;
21623 float speedX12 = velocity.X * 0.2f;
21624 float speedY11 = velocity.Y * 0.2f;
21625 newColor = default(Color);
21626 int num191 = Dust.NewDust(val28, num1656, num1657, 6, speedX12, speedY11, 100, newColor, 2f);
21627 Main.dust[num191].noGravity = true;
21628 Main.dust[num191].velocity.X *= 1f;
21629 Main.dust[num191].velocity.Y *= 1f;
21630 }
21632 return;
21633 }
21634 Vector2 val29 = default(Vector2);
21635 if (aiStyle == 9)
21636 {
21637 if (type == 516)
21638 {
21639 if (alpha < 220)
21640 {
21641 alpha += 40;
21642 }
21643 if (this.ai[0] == 0f)
21644 {
21645 this.ai[0] = 1f;
21646 Vector2 vector57 = Main.player[target].Center - base.Center;
21647 ((Vector2)(ref vector57)).Normalize();
21648 if (vector57.HasNaNs())
21649 {
21650 vector57 = -Vector2.UnitY;
21651 }
21652 Vector2 spinningpoint13 = vector57.RotatedByRandom(1.5707963705062866);
21653 val29 = default(Vector2);
21654 vector57 = spinningpoint13.RotatedBy(-0.7853981852531433, val29);
21655 if (vector57.Y > 0.2f)
21656 {
21657 vector57.Y = 0.2f;
21658 }
21659 velocity = vector57 * (6f + Main.rand.NextFloat() * 4f);
21660 }
21661 if (collideX || collideY || Distance(Main.player[target].Center) < 20f)
21662 {
21664 }
21665 }
21666 if (target == 255)
21667 {
21668 TargetClosest();
21669 float num202 = 6f;
21670 if (type == 25)
21671 {
21672 num202 = 5f;
21673 }
21674 if (type == 112 || type == 666)
21675 {
21676 num202 = 7f;
21677 }
21678 if (Main.getGoodWorld)
21679 {
21680 if (type == 33 && AnyNPCs(35))
21681 {
21682 num202 = 10f;
21683 }
21684 if (type == 25 && AnyNPCs(113))
21685 {
21686 num202 = 14f;
21687 }
21688 if (type == 666)
21689 {
21690 num202 = 10f;
21691 }
21692 }
21693 Vector2 vector68 = default(Vector2);
21694 ((Vector2)(ref vector68))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
21695 float num213 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector68.X;
21696 float num225 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector68.Y;
21697 float num236 = (float)Math.Sqrt(num213 * num213 + num225 * num225);
21698 num236 = num202 / num236;
21699 velocity.X = num213 * num236;
21700 velocity.Y = num225 * num236;
21701 }
21702 if (Main.getGoodWorld && !dontTakeDamage)
21703 {
21704 if (type == 33 && AnyNPCs(35))
21705 {
21706 dontTakeDamage = true;
21707 }
21708 else if (type == 25 && AnyNPCs(113))
21709 {
21710 dontTakeDamage = true;
21711 }
21712 else if (type == 666 && (double)(base.Center.Y / 16f) < Main.worldSurface)
21713 {
21714 dontTakeDamage = true;
21715 }
21716 }
21717 if (type == 112 || type == 666)
21718 {
21719 damage = defDamage;
21720 if (type == 666)
21721 {
21723 }
21724 this.ai[0] += 1f;
21725 if (this.ai[0] > 3f)
21726 {
21727 this.ai[0] = 3f;
21728 }
21729 if (this.ai[0] == 2f)
21730 {
21731 position += velocity;
21732 SoundEngine.PlaySound(4, (int)position.X, (int)position.Y, 9);
21733 for (int num247 = 0; num247 < 20; num247++)
21734 {
21735 Vector2 val30 = new Vector2(position.X, position.Y + 2f) + netOffset;
21736 int num1658 = width;
21737 int num1659 = height;
21738 newColor = default(Color);
21739 int num258 = Dust.NewDust(val30, num1658, num1659, 18, 0f, 0f, 100, newColor, 1.8f);
21740 Dust dust24 = Main.dust[num258];
21741 Dust dust87 = dust24;
21742 dust87.velocity *= 1.3f;
21743 dust24 = Main.dust[num258];
21744 dust87 = dust24;
21745 dust87.velocity += velocity;
21746 Main.dust[num258].noGravity = true;
21747 }
21748 }
21749 }
21750 if ((type == 112 || type == 666) && Collision.SolidCollision(position, width, height))
21751 {
21752 _ = Main.netMode;
21753 StrikeNPCNoInteraction(9999, 0f, 0);
21754 }
21755 EncourageDespawn(100);
21756 if (type == 516)
21757 {
21758 rotation += 0.1f * (float)direction;
21759 float num269 = 15f;
21760 float num280 = 1f / 12f;
21761 Vector2 center = base.Center;
21762 Vector2 center12 = Main.player[target].Center;
21763 Vector2 vector79 = center12 - center;
21764 ((Vector2)(ref vector79)).Normalize();
21765 if (vector79.HasNaNs())
21766 {
21767 ((Vector2)(ref vector79))._002Ector((float)direction, 0f);
21768 }
21769 velocity = (velocity * (num269 - 1f) + vector79 * (((Vector2)(ref velocity)).Length() + num280)) / num269;
21770 if (((Vector2)(ref velocity)).Length() < 6f)
21771 {
21772 velocity *= 1.05f;
21773 }
21774 return;
21775 }
21777 for (int num291 = 0; num291 < 2; num291++)
21778 {
21779 if (type == 30 || type == 665)
21780 {
21781 alpha = 255;
21782 for (int num302 = 0; num302 < 2; num302++)
21783 {
21784 Vector2 val31 = new Vector2(position.X, position.Y + 2f);
21785 int num1660 = width;
21786 int num1661 = height;
21787 float speedX13 = velocity.X * 0.2f;
21788 float speedY12 = velocity.Y * 0.2f;
21789 newColor = default(Color);
21790 int num313 = Dust.NewDust(val31, num1660, num1661, 27, speedX13, speedY12, 100, newColor, 1.3f);
21791 Main.dust[num313].noGravity = true;
21792 Dust dust20 = Main.dust[num313];
21793 Dust dust87 = dust20;
21794 dust87.velocity *= 0.3f;
21795 Main.dust[num313].velocity.X -= velocity.X * 0.2f;
21796 Main.dust[num313].velocity.Y -= velocity.Y * 0.2f;
21797 }
21798 }
21799 else if (type == 33)
21800 {
21801 for (int num324 = 0; num324 < 3; num324++)
21802 {
21803 float num336 = velocity.X / 3f * (float)num291;
21804 float num347 = velocity.Y / 3f * (float)num291;
21805 int num358 = 2;
21806 Vector2 val32 = new Vector2(position.X + (float)num358, position.Y + (float)num358);
21807 int num1662 = width - num358 * 2;
21808 int num1663 = height - num358 * 2;
21809 newColor = default(Color);
21810 int num369 = Dust.NewDust(val32, num1662, num1663, 172, 0f, 0f, 100, newColor, 1.2f);
21811 Main.dust[num369].noGravity = true;
21812 Dust dust22 = Main.dust[num369];
21813 Dust dust87 = dust22;
21814 dust87.velocity *= 0.1f;
21815 dust22 = Main.dust[num369];
21816 dust87 = dust22;
21817 dust87.velocity += velocity * 0.5f;
21818 Main.dust[num369].position.X -= num336;
21819 Main.dust[num369].position.Y -= num347;
21820 }
21821 if (Main.rand.Next(5) == 0)
21822 {
21823 int num380 = 2;
21824 Vector2 val33 = new Vector2(position.X + (float)num380, position.Y + (float)num380);
21825 int num1664 = width - num380 * 2;
21826 int num1665 = height - num380 * 2;
21827 newColor = default(Color);
21828 int num391 = Dust.NewDust(val33, num1664, num1665, 172, 0f, 0f, 100, newColor, 0.6f);
21829 Dust dust21 = Main.dust[num391];
21830 Dust dust87 = dust21;
21831 dust87.velocity *= 0.25f;
21832 dust21 = Main.dust[num391];
21833 dust87 = dust21;
21834 dust87.velocity += velocity * 0.5f;
21835 }
21836 }
21837 else if (type == 112 || type == 666)
21838 {
21839 Vector2 val34 = new Vector2(position.X, position.Y + 2f);
21840 int num1666 = width;
21841 int num1667 = height;
21842 float speedX14 = velocity.X * 0.1f;
21843 float speedY13 = velocity.Y * 0.1f;
21844 newColor = default(Color);
21845 int num402 = Dust.NewDust(val34, num1666, num1667, 18, speedX14, speedY13, 80, newColor, 1.3f);
21846 Dust dust23 = Main.dust[num402];
21847 Dust dust87 = dust23;
21848 dust87.velocity *= 0.3f;
21849 Main.dust[num402].noGravity = true;
21850 }
21851 else
21852 {
21853 Lighting.AddLight((int)((position.X + (float)(width / 2)) / 16f), (int)((position.Y + (float)(height / 2)) / 16f), 1f, 0.3f, 0.1f);
21854 Vector2 val35 = new Vector2(position.X, position.Y + 2f);
21855 int num1668 = width;
21856 int num1669 = height;
21857 float speedX15 = velocity.X * 0.2f;
21858 float speedY14 = velocity.Y * 0.2f;
21859 newColor = default(Color);
21860 int num413 = Dust.NewDust(val35, num1668, num1669, 6, speedX15, speedY14, 100, newColor, 2f);
21861 Main.dust[num413].noGravity = true;
21862 Main.dust[num413].velocity.X *= 0.3f;
21863 Main.dust[num413].velocity.Y *= 0.3f;
21864 }
21865 }
21866 rotation += 0.4f * (float)direction;
21868 return;
21869 }
21870 if (aiStyle == 10)
21871 {
21872 float num424 = 1f;
21873 float num435 = 0.011f;
21874 TargetClosest();
21875 Vector2 vector90 = default(Vector2);
21876 ((Vector2)(ref vector90))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
21877 float num447 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector90.X;
21878 float num458 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector90.Y;
21879 float num469 = (float)Math.Sqrt(num447 * num447 + num458 * num458);
21880 float num480 = num469;
21881 this.ai[1] += 1f;
21882 if (this.ai[1] > 600f)
21883 {
21884 num435 *= 8f;
21885 num424 = 4f;
21886 if (this.ai[1] > 650f)
21887 {
21888 this.ai[1] = 0f;
21889 }
21890 }
21891 else if (num480 < 250f)
21892 {
21893 this.ai[0] += 0.9f;
21894 if (this.ai[0] > 0f)
21895 {
21896 velocity.Y += 0.019f;
21897 }
21898 else
21899 {
21900 velocity.Y -= 0.019f;
21901 }
21902 if (this.ai[0] < -100f || this.ai[0] > 100f)
21903 {
21904 velocity.X += 0.019f;
21905 }
21906 else
21907 {
21908 velocity.X -= 0.019f;
21909 }
21910 if (this.ai[0] > 200f)
21911 {
21912 this.ai[0] = -200f;
21913 }
21914 }
21915 if (num480 > 350f)
21916 {
21917 num424 = 5f;
21918 num435 = 0.3f;
21919 }
21920 else if (num480 > 300f)
21921 {
21922 num424 = 3f;
21923 num435 = 0.2f;
21924 }
21925 else if (num480 > 250f)
21926 {
21927 num424 = 1.5f;
21928 num435 = 0.1f;
21929 }
21930 num469 = num424 / num469;
21931 num447 *= num469;
21932 num458 *= num469;
21933 if (Main.player[target].dead)
21934 {
21935 num447 = (float)direction * num424 / 2f;
21936 num458 = (0f - num424) / 2f;
21937 }
21938 if (velocity.X < num447)
21939 {
21940 velocity.X += num435;
21941 }
21942 else if (velocity.X > num447)
21943 {
21944 velocity.X -= num435;
21945 }
21946 if (velocity.Y < num458)
21947 {
21948 velocity.Y += num435;
21949 }
21950 else if (velocity.Y > num458)
21951 {
21952 velocity.Y -= num435;
21953 }
21954 if (num447 > 0f)
21955 {
21956 spriteDirection = -1;
21957 rotation = (float)Math.Atan2(num458, num447);
21958 }
21959 if (num447 < 0f)
21960 {
21961 spriteDirection = 1;
21962 rotation = (float)Math.Atan2(num458, num447) + 3.14f;
21963 }
21964 if (type != 289)
21965 {
21966 return;
21967 }
21968 if (justHit)
21969 {
21970 this.ai[2] = 0f;
21971 this.ai[3] = 0f;
21972 }
21973 ((Vector2)(ref vector90))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
21974 num447 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector90.X;
21975 num458 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector90.Y;
21976 num469 = (float)Math.Sqrt(num447 * num447 + num458 * num458);
21977 if (num469 <= 500f)
21978 {
21979 this.ai[2] += 1f;
21980 if (this.ai[3] == 0f)
21981 {
21982 if (this.ai[2] > 120f)
21983 {
21984 this.ai[2] = 0f;
21985 this.ai[3] = 1f;
21986 netUpdate = true;
21987 }
21988 return;
21989 }
21990 if (this.ai[2] > 40f)
21991 {
21992 this.ai[3] = 0f;
21993 }
21994 if (Main.netMode != 1 && this.ai[2] == 20f)
21995 {
21996 float num491 = 6f;
21997 int num502 = 25;
21998 int num513 = 299;
21999 num469 = num491 / num469;
22000 num447 *= num469;
22001 num458 *= num469;
22002 int num524 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector90.X, vector90.Y, num447, num458, num513, num502, 0f, Main.myPlayer);
22003 }
22004 }
22005 else
22006 {
22007 this.ai[2] = 0f;
22008 this.ai[3] = 0f;
22009 }
22010 return;
22011 }
22012 if (aiStyle == 11)
22013 {
22014 reflectsProjectiles = false;
22016 if (this.ai[0] == 0f && Main.netMode != 1)
22017 {
22018 TargetClosest();
22019 this.ai[0] = 1f;
22020 if (type != 68)
22021 {
22022 int num535 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)(position.X + (float)(width / 2)), (int)position.Y + height / 2, 36, whoAmI);
22023 Main.npc[num535].ai[0] = -1f;
22024 Main.npc[num535].ai[1] = whoAmI;
22025 Main.npc[num535].target = target;
22026 Main.npc[num535].netUpdate = true;
22027 num535 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)(position.X + (float)(width / 2)), (int)position.Y + height / 2, 36, whoAmI);
22028 Main.npc[num535].ai[0] = 1f;
22029 Main.npc[num535].ai[1] = whoAmI;
22030 Main.npc[num535].ai[3] = 150f;
22031 Main.npc[num535].target = target;
22032 Main.npc[num535].netUpdate = true;
22033 }
22034 }
22035 if ((type == 68 || Main.netMode == 1) && localAI[0] == 0f)
22036 {
22037 localAI[0] = 1f;
22038 SoundEngine.PlaySound(15, (int)position.X, (int)position.Y, 0);
22039 }
22040 if (Main.player[target].dead || Math.Abs(position.X - Main.player[target].position.X) > 2000f || Math.Abs(position.Y - Main.player[target].position.Y) > 2000f)
22041 {
22042 TargetClosest();
22043 if (Main.player[target].dead || Math.Abs(position.X - Main.player[target].position.X) > 2000f || Math.Abs(position.Y - Main.player[target].position.Y) > 2000f)
22044 {
22045 this.ai[1] = 3f;
22046 }
22047 }
22048 if ((type == 68 || Main.IsItDay()) && this.ai[1] != 3f && this.ai[1] != 2f)
22049 {
22050 this.ai[1] = 2f;
22051 SoundEngine.PlaySound(15, (int)position.X, (int)position.Y, 0);
22052 }
22053 int num546 = 0;
22054 if (Main.expertMode)
22055 {
22056 for (int num558 = 0; num558 < 200; num558++)
22057 {
22058 if (Main.npc[num558].active && Main.npc[num558].type == type + 1)
22059 {
22060 num546++;
22061 }
22062 }
22063 defense += num546 * 25;
22064 if ((num546 < 2 || (double)life < (double)lifeMax * 0.75) && this.ai[1] == 0f)
22065 {
22066 float num569 = 80f;
22067 if (num546 == 0)
22068 {
22069 num569 /= 2f;
22070 }
22071 if (Main.getGoodWorld)
22072 {
22073 num569 *= 0.8f;
22074 }
22075 if (Main.netMode != 1 && this.ai[2] % num569 == 0f)
22076 {
22077 Vector2 center23 = base.Center;
22078 float num580 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - center23.X;
22079 float num591 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - center23.Y;
22080 float num602 = (float)Math.Sqrt(num580 * num580 + num591 * num591);
22081 if (Collision.CanHit(center23, 1, 1, Main.player[target].position, Main.player[target].width, Main.player[target].height))
22082 {
22083 float num613 = 3f;
22084 if (num546 == 0)
22085 {
22086 num613 += 2f;
22087 }
22088 float num624 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - center23.X + (float)Main.rand.Next(-20, 21);
22089 float num635 = Main.player[target].position.Y + (float)Main.player[target].height * 0.5f - center23.Y + (float)Main.rand.Next(-20, 21);
22090 float num646 = (float)Math.Sqrt(num624 * num624 + num635 * num635);
22091 num646 = num613 / num646;
22092 num624 *= num646;
22093 num635 *= num646;
22094 Vector2 vector101 = default(Vector2);
22095 ((Vector2)(ref vector101))._002Ector(num624 * 1f + (float)Main.rand.Next(-50, 51) * 0.01f, num635 * 1f + (float)Main.rand.Next(-50, 51) * 0.01f);
22096 ((Vector2)(ref vector101)).Normalize();
22097 vector101 *= num613;
22099 num624 = vector101.X;
22100 num635 = vector101.Y;
22102 int num657 = 270;
22103 center23 += vector101 * 5f;
22104 int num669 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), center23.X, center23.Y, num624, num635, num657, attackDamage_ForProjectiles, 0f, Main.myPlayer, -1f);
22105 Main.projectile[num669].timeLeft = 300;
22106 }
22107 }
22108 }
22109 }
22110 if (this.ai[1] == 0f)
22111 {
22112 damage = defDamage;
22113 this.ai[2] += 1f;
22114 if (this.ai[2] >= 800f)
22115 {
22116 this.ai[2] = 0f;
22117 this.ai[1] = 1f;
22118 TargetClosest();
22119 netUpdate = true;
22120 }
22121 rotation = velocity.X / 15f;
22122 float num676 = 0.02f;
22123 float num677 = 2f;
22124 float num678 = 0.05f;
22125 float num679 = 8f;
22126 if (Main.expertMode)
22127 {
22128 num676 = 0.03f;
22129 num677 = 4f;
22130 num678 = 0.07f;
22131 num679 = 9.5f;
22132 }
22133 if (Main.getGoodWorld)
22134 {
22135 num676 += 0.01f;
22136 num677 += 1f;
22137 num678 += 0.05f;
22138 num679 += 2f;
22139 }
22140 if (position.Y > Main.player[target].position.Y - 250f)
22141 {
22142 if (velocity.Y > 0f)
22143 {
22144 velocity.Y *= 0.98f;
22145 }
22146 velocity.Y -= num676;
22147 if (velocity.Y > num677)
22148 {
22149 velocity.Y = num677;
22150 }
22151 }
22152 else if (position.Y < Main.player[target].position.Y - 250f)
22153 {
22154 if (velocity.Y < 0f)
22155 {
22156 velocity.Y *= 0.98f;
22157 }
22158 velocity.Y += num676;
22159 if (velocity.Y < 0f - num677)
22160 {
22161 velocity.Y = 0f - num677;
22162 }
22163 }
22164 if (position.X + (float)(width / 2) > Main.player[target].position.X + (float)(Main.player[target].width / 2))
22165 {
22166 if (velocity.X > 0f)
22167 {
22168 velocity.X *= 0.98f;
22169 }
22170 velocity.X -= num678;
22171 if (velocity.X > num679)
22172 {
22173 velocity.X = num679;
22174 }
22175 }
22176 if (position.X + (float)(width / 2) < Main.player[target].position.X + (float)(Main.player[target].width / 2))
22177 {
22178 if (velocity.X < 0f)
22179 {
22180 velocity.X *= 0.98f;
22181 }
22182 velocity.X += num678;
22183 if (velocity.X < 0f - num679)
22184 {
22185 velocity.X = 0f - num679;
22186 }
22187 }
22188 }
22189 else if (this.ai[1] == 1f)
22190 {
22191 if (Main.getGoodWorld)
22192 {
22193 if (num546 > 0)
22194 {
22195 reflectsProjectiles = true;
22196 }
22197 else if (Main.netMode != 1 && this.ai[2] % 200f == 0f && CountNPCS(32) < 6)
22198 {
22199 int num680 = 1;
22200 for (int num681 = 0; num681 < num680; num681++)
22201 {
22202 int num682 = 1000;
22203 for (int num683 = 0; num683 < num682; num683++)
22204 {
22205 int num684 = (int)(base.Center.X / 16f) + Main.rand.Next(-50, 51);
22206 int num686;
22207 for (num686 = (int)(base.Center.Y / 16f) + Main.rand.Next(-50, 51); num686 < Main.maxTilesY - 10 && !WorldGen.SolidTile(num684, num686); num686++)
22208 {
22209 }
22210 num686--;
22211 if (!WorldGen.SolidTile(num684, num686))
22212 {
22213 int num687 = NewNPC(GetSpawnSourceForNaturalSpawn(), num684 * 16 + 8, num686 * 16, 32);
22214 if (Main.netMode == 2 && num687 < 200)
22215 {
22216 NetMessage.SendData(23, -1, -1, null, num687);
22217 }
22218 break;
22219 }
22220 }
22221 }
22222 }
22223 }
22224 defense -= 10;
22225 this.ai[2] += 1f;
22226 if (this.ai[2] == 2f)
22227 {
22228 SoundEngine.PlaySound(15, (int)position.X, (int)position.Y, 0);
22229 }
22230 if (this.ai[2] >= 400f)
22231 {
22232 this.ai[2] = 0f;
22233 this.ai[1] = 0f;
22234 }
22235 rotation += (float)direction * 0.3f;
22236 Vector2 vector113 = default(Vector2);
22237 ((Vector2)(ref vector113))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
22238 float num688 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector113.X;
22239 float num689 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector113.Y;
22240 float num690 = (float)Math.Sqrt(num688 * num688 + num689 * num689);
22241 float num691 = 1.5f;
22243 if (Main.expertMode)
22244 {
22245 num691 = 3.5f;
22246 if (num690 > 150f)
22247 {
22248 num691 *= 1.05f;
22249 }
22250 if (num690 > 200f)
22251 {
22252 num691 *= 1.1f;
22253 }
22254 if (num690 > 250f)
22255 {
22256 num691 *= 1.1f;
22257 }
22258 if (num690 > 300f)
22259 {
22260 num691 *= 1.1f;
22261 }
22262 if (num690 > 350f)
22263 {
22264 num691 *= 1.1f;
22265 }
22266 if (num690 > 400f)
22267 {
22268 num691 *= 1.1f;
22269 }
22270 if (num690 > 450f)
22271 {
22272 num691 *= 1.1f;
22273 }
22274 if (num690 > 500f)
22275 {
22276 num691 *= 1.1f;
22277 }
22278 if (num690 > 550f)
22279 {
22280 num691 *= 1.1f;
22281 }
22282 if (num690 > 600f)
22283 {
22284 num691 *= 1.1f;
22285 }
22286 switch (num546)
22287 {
22288 case 0:
22289 num691 *= 1.1f;
22290 break;
22291 case 1:
22292 num691 *= 1.05f;
22293 break;
22294 }
22295 }
22296 if (Main.getGoodWorld)
22297 {
22298 num691 *= 1.3f;
22299 }
22300 num690 = num691 / num690;
22301 velocity.X = num688 * num690;
22302 velocity.Y = num689 * num690;
22303 }
22304 else if (this.ai[1] == 2f)
22305 {
22306 damage = 1000;
22307 defense = 9999;
22308 rotation += (float)direction * 0.3f;
22309 Vector2 vector124 = default(Vector2);
22310 ((Vector2)(ref vector124))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
22311 float num692 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector124.X;
22312 float num693 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector124.Y;
22313 float num694 = (float)Math.Sqrt(num692 * num692 + num693 * num693);
22314 num694 = 8f / num694;
22315 velocity.X = num692 * num694;
22316 velocity.Y = num693 * num694;
22317 }
22318 else if (this.ai[1] == 3f)
22319 {
22320 velocity.Y += 0.1f;
22321 if (velocity.Y < 0f)
22322 {
22323 velocity.Y *= 0.95f;
22324 }
22325 velocity.X *= 0.95f;
22326 EncourageDespawn(50);
22327 }
22328 if (this.ai[1] != 2f && this.ai[1] != 3f && type != 68 && (num546 != 0 || !Main.expertMode))
22329 {
22330 Vector2 val36 = new Vector2(position.X + (float)(width / 2) - 15f - velocity.X * 5f, position.Y + (float)height - 2f);
22331 float speedX16 = (0f - velocity.X) * 0.2f;
22332 newColor = default(Color);
22333 int num695 = Dust.NewDust(val36, 30, 10, 5, speedX16, 3f, 0, newColor, 2f);
22334 Main.dust[num695].noGravity = true;
22335 Main.dust[num695].velocity.X *= 1.3f;
22336 Main.dust[num695].velocity.X += velocity.X * 0.4f;
22337 Main.dust[num695].velocity.Y += 2f + velocity.Y;
22338 for (int num697 = 0; num697 < 2; num697++)
22339 {
22340 Vector2 val37 = new Vector2(position.X, position.Y + 120f);
22341 int num1670 = width;
22342 float x6 = velocity.X;
22343 float y7 = velocity.Y;
22344 newColor = default(Color);
22345 num695 = Dust.NewDust(val37, num1670, 60, 5, x6, y7, 0, newColor, 2f);
22346 Main.dust[num695].noGravity = true;
22347 Dust dust25 = Main.dust[num695];
22348 Dust dust87 = dust25;
22349 dust87.velocity -= velocity;
22350 Main.dust[num695].velocity.Y += 5f;
22351 }
22352 }
22353 return;
22354 }
22355 if (aiStyle == 12)
22356 {
22357 spriteDirection = -(int)this.ai[0];
22358 if (!Main.npc[(int)this.ai[1]].active || Main.npc[(int)this.ai[1]].aiStyle != 11)
22359 {
22360 this.ai[2] += 10f;
22361 if (this.ai[2] > 50f || Main.netMode != 2)
22362 {
22363 life = -1;
22364 HitEffect();
22365 active = false;
22366 }
22367 }
22368 if (this.ai[2] == 0f || this.ai[2] == 3f)
22369 {
22370 if (Main.npc[(int)this.ai[1]].ai[1] == 3f)
22371 {
22372 EncourageDespawn(10);
22373 }
22374 if (Main.npc[(int)this.ai[1]].ai[1] != 0f)
22375 {
22376 if (position.Y > Main.npc[(int)this.ai[1]].position.Y - 100f)
22377 {
22378 if (velocity.Y > 0f)
22379 {
22380 velocity.Y *= 0.96f;
22381 }
22382 velocity.Y -= 0.07f;
22383 if (velocity.Y > 6f)
22384 {
22385 velocity.Y = 6f;
22386 }
22387 }
22388 else if (position.Y < Main.npc[(int)this.ai[1]].position.Y - 100f)
22389 {
22390 if (velocity.Y < 0f)
22391 {
22392 velocity.Y *= 0.96f;
22393 }
22394 velocity.Y += 0.07f;
22395 if (velocity.Y < -6f)
22396 {
22397 velocity.Y = -6f;
22398 }
22399 }
22400 if (position.X + (float)(width / 2) > Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 120f * this.ai[0])
22401 {
22402 if (velocity.X > 0f)
22403 {
22404 velocity.X *= 0.96f;
22405 }
22406 velocity.X -= 0.1f;
22407 if (velocity.X > 8f)
22408 {
22409 velocity.X = 8f;
22410 }
22411 }
22412 if (position.X + (float)(width / 2) < Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 120f * this.ai[0])
22413 {
22414 if (velocity.X < 0f)
22415 {
22416 velocity.X *= 0.96f;
22417 }
22418 velocity.X += 0.1f;
22419 if (velocity.X < -8f)
22420 {
22421 velocity.X = -8f;
22422 }
22423 }
22424 }
22425 else
22426 {
22427 this.ai[3] += 1f;
22428 if (Main.expertMode)
22429 {
22430 this.ai[3] += 0.5f;
22431 }
22432 if (this.ai[3] >= 300f)
22433 {
22434 this.ai[2] += 1f;
22435 this.ai[3] = 0f;
22436 netUpdate = true;
22437 }
22438 if (Main.expertMode)
22439 {
22440 if (position.Y > Main.npc[(int)this.ai[1]].position.Y + 230f)
22441 {
22442 if (velocity.Y > 0f)
22443 {
22444 velocity.Y *= 0.96f;
22445 }
22446 velocity.Y -= 0.04f;
22447 if (velocity.Y > 3f)
22448 {
22449 velocity.Y = 3f;
22450 }
22451 }
22452 else if (position.Y < Main.npc[(int)this.ai[1]].position.Y + 230f)
22453 {
22454 if (velocity.Y < 0f)
22455 {
22456 velocity.Y *= 0.96f;
22457 }
22458 velocity.Y += 0.04f;
22459 if (velocity.Y < -3f)
22460 {
22461 velocity.Y = -3f;
22462 }
22463 }
22464 if (position.X + (float)(width / 2) > Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 200f * this.ai[0])
22465 {
22466 if (velocity.X > 0f)
22467 {
22468 velocity.X *= 0.96f;
22469 }
22470 velocity.X -= 0.07f;
22471 if (velocity.X > 8f)
22472 {
22473 velocity.X = 8f;
22474 }
22475 }
22476 if (position.X + (float)(width / 2) < Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 200f * this.ai[0])
22477 {
22478 if (velocity.X < 0f)
22479 {
22480 velocity.X *= 0.96f;
22481 }
22482 velocity.X += 0.07f;
22483 if (velocity.X < -8f)
22484 {
22485 velocity.X = -8f;
22486 }
22487 }
22488 }
22489 if (position.Y > Main.npc[(int)this.ai[1]].position.Y + 230f)
22490 {
22491 if (velocity.Y > 0f)
22492 {
22493 velocity.Y *= 0.96f;
22494 }
22495 velocity.Y -= 0.04f;
22496 if (velocity.Y > 3f)
22497 {
22498 velocity.Y = 3f;
22499 }
22500 }
22501 else if (position.Y < Main.npc[(int)this.ai[1]].position.Y + 230f)
22502 {
22503 if (velocity.Y < 0f)
22504 {
22505 velocity.Y *= 0.96f;
22506 }
22507 velocity.Y += 0.04f;
22508 if (velocity.Y < -3f)
22509 {
22510 velocity.Y = -3f;
22511 }
22512 }
22513 if (position.X + (float)(width / 2) > Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 200f * this.ai[0])
22514 {
22515 if (velocity.X > 0f)
22516 {
22517 velocity.X *= 0.96f;
22518 }
22519 velocity.X -= 0.07f;
22520 if (velocity.X > 8f)
22521 {
22522 velocity.X = 8f;
22523 }
22524 }
22525 if (position.X + (float)(width / 2) < Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 200f * this.ai[0])
22526 {
22527 if (velocity.X < 0f)
22528 {
22529 velocity.X *= 0.96f;
22530 }
22531 velocity.X += 0.07f;
22532 if (velocity.X < -8f)
22533 {
22534 velocity.X = -8f;
22535 }
22536 }
22537 }
22538 Vector2 vector135 = default(Vector2);
22539 ((Vector2)(ref vector135))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
22540 float num698 = Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 200f * this.ai[0] - vector135.X;
22541 float num699 = Main.npc[(int)this.ai[1]].position.Y + 230f - vector135.Y;
22542 float num700 = (float)Math.Sqrt(num698 * num698 + num699 * num699);
22543 rotation = (float)Math.Atan2(num699, num698) + 1.57f;
22544 }
22545 else if (this.ai[2] == 1f)
22546 {
22547 Vector2 vector146 = default(Vector2);
22548 ((Vector2)(ref vector146))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
22549 float num701 = Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 200f * this.ai[0] - vector146.X;
22550 float num702 = Main.npc[(int)this.ai[1]].position.Y + 230f - vector146.Y;
22551 float num703 = (float)Math.Sqrt(num701 * num701 + num702 * num702);
22552 rotation = (float)Math.Atan2(num702, num701) + 1.57f;
22553 velocity.X *= 0.95f;
22554 velocity.Y -= 0.1f;
22555 if (Main.expertMode)
22556 {
22557 velocity.Y -= 0.06f;
22558 if (velocity.Y < -13f)
22559 {
22560 velocity.Y = -13f;
22561 }
22562 }
22563 else if (velocity.Y < -8f)
22564 {
22565 velocity.Y = -8f;
22566 }
22567 if (position.Y < Main.npc[(int)this.ai[1]].position.Y - 200f)
22568 {
22569 TargetClosest();
22570 this.ai[2] = 2f;
22571 ((Vector2)(ref vector146))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
22572 num701 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector146.X;
22573 num702 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector146.Y;
22574 num703 = (float)Math.Sqrt(num701 * num701 + num702 * num702);
22575 num703 = ((!Main.expertMode) ? (18f / num703) : (21f / num703));
22576 velocity.X = num701 * num703;
22577 velocity.Y = num702 * num703;
22578 netUpdate = true;
22579 }
22580 }
22581 else if (this.ai[2] == 2f)
22582 {
22583 if (position.Y > Main.player[target].position.Y || velocity.Y < 0f)
22584 {
22585 this.ai[2] = 3f;
22586 }
22587 }
22588 else if (this.ai[2] == 4f)
22589 {
22590 Vector2 vector157 = default(Vector2);
22591 ((Vector2)(ref vector157))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
22592 float num704 = Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 200f * this.ai[0] - vector157.X;
22593 float num705 = Main.npc[(int)this.ai[1]].position.Y + 230f - vector157.Y;
22594 float num706 = (float)Math.Sqrt(num704 * num704 + num705 * num705);
22595 rotation = (float)Math.Atan2(num705, num704) + 1.57f;
22596 velocity.Y *= 0.95f;
22597 velocity.X += 0.1f * (0f - this.ai[0]);
22598 if (Main.expertMode)
22599 {
22600 velocity.X += 0.07f * (0f - this.ai[0]);
22601 if (velocity.X < -12f)
22602 {
22603 velocity.X = -12f;
22604 }
22605 else if (velocity.X > 12f)
22606 {
22607 velocity.X = 12f;
22608 }
22609 }
22610 else if (velocity.X < -8f)
22611 {
22612 velocity.X = -8f;
22613 }
22614 else if (velocity.X > 8f)
22615 {
22616 velocity.X = 8f;
22617 }
22618 if (position.X + (float)(width / 2) < Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 500f || position.X + (float)(width / 2) > Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) + 500f)
22619 {
22620 TargetClosest();
22621 this.ai[2] = 5f;
22622 ((Vector2)(ref vector157))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
22623 num704 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector157.X;
22624 num705 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector157.Y;
22625 num706 = (float)Math.Sqrt(num704 * num704 + num705 * num705);
22626 num706 = ((!Main.expertMode) ? (17f / num706) : (22f / num706));
22627 velocity.X = num704 * num706;
22628 velocity.Y = num705 * num706;
22629 netUpdate = true;
22630 }
22631 }
22632 else if (this.ai[2] == 5f && ((velocity.X > 0f && position.X + (float)(width / 2) > Main.player[target].position.X + (float)(Main.player[target].width / 2)) || (velocity.X < 0f && position.X + (float)(width / 2) < Main.player[target].position.X + (float)(Main.player[target].width / 2))))
22633 {
22634 this.ai[2] = 0f;
22635 }
22636 return;
22637 }
22638 if (aiStyle == 13)
22639 {
22640 if (this.ai[0] < 0f || this.ai[0] >= (float)Main.maxTilesX || this.ai[1] < 0f || this.ai[1] >= (float)Main.maxTilesX)
22641 {
22642 return;
22643 }
22644 if (Main.tile[(int)this.ai[0], (int)this.ai[1]] == null)
22645 {
22646 Main.tile[(int)this.ai[0], (int)this.ai[1]] = default(Tile);
22647 }
22648 if (!Main.tile[(int)this.ai[0], (int)this.ai[1]].active())
22649 {
22650 life = -1;
22651 HitEffect();
22652 active = false;
22653 return;
22654 }
22655 FixExploitManEaters.ProtectSpot((int)this.ai[0], (int)this.ai[1]);
22656 TargetClosest();
22657 float num708 = 0.035f;
22658 float num709 = 150f;
22659 if (type == 43)
22660 {
22661 num709 = ((!Main.getGoodWorld) ? 250f : 350f);
22662 }
22663 if (type == 101)
22664 {
22665 num709 = 175f;
22666 }
22667 if (type == 259)
22668 {
22669 num709 = 100f;
22670 }
22671 if (type == 175)
22672 {
22673 num709 = 500f;
22674 num708 = 0.05f;
22675 }
22676 if (type == 260)
22677 {
22678 num709 = 350f;
22679 num708 = 0.15f;
22680 }
22681 this.ai[2] += 1f;
22682 if (this.ai[2] > 300f)
22683 {
22684 num709 = (int)((double)num709 * 1.3);
22685 if (this.ai[2] > 450f)
22686 {
22687 this.ai[2] = 0f;
22688 }
22689 }
22690 Vector2 vector168 = default(Vector2);
22691 ((Vector2)(ref vector168))._002Ector(this.ai[0] * 16f + 8f, this.ai[1] * 16f + 8f);
22692 float num710 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - (float)(width / 2) - vector168.X;
22693 float num711 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - (float)(height / 2) - vector168.Y;
22694 float num712 = (float)Math.Sqrt(num710 * num710 + num711 * num711);
22695 if (num712 > num709)
22696 {
22697 num712 = num709 / num712;
22698 num710 *= num712;
22699 num711 *= num712;
22700 }
22701 if (position.X < this.ai[0] * 16f + 8f + num710)
22702 {
22703 velocity.X += num708;
22704 if (velocity.X < 0f && num710 > 0f)
22705 {
22706 velocity.X += num708 * 1.5f;
22707 }
22708 }
22709 else if (position.X > this.ai[0] * 16f + 8f + num710)
22710 {
22711 velocity.X -= num708;
22712 if (velocity.X > 0f && num710 < 0f)
22713 {
22714 velocity.X -= num708 * 1.5f;
22715 }
22716 }
22717 if (position.Y < this.ai[1] * 16f + 8f + num711)
22718 {
22719 velocity.Y += num708;
22720 if (velocity.Y < 0f && num711 > 0f)
22721 {
22722 velocity.Y += num708 * 1.5f;
22723 }
22724 }
22725 else if (position.Y > this.ai[1] * 16f + 8f + num711)
22726 {
22727 velocity.Y -= num708;
22728 if (velocity.Y > 0f && num711 < 0f)
22729 {
22730 velocity.Y -= num708 * 1.5f;
22731 }
22732 }
22733 if (type == 43)
22734 {
22735 if (Main.getGoodWorld)
22736 {
22737 if ((double)velocity.X > 3.5)
22738 {
22739 velocity.X = 3.5f;
22740 }
22741 if ((double)velocity.X < -3.5)
22742 {
22743 velocity.X = -3.5f;
22744 }
22745 if ((double)velocity.Y > 3.5)
22746 {
22747 velocity.Y = 3.5f;
22748 }
22749 if ((double)velocity.Y < -3.5)
22750 {
22751 velocity.Y = -3.5f;
22752 }
22753 }
22754 else
22755 {
22756 if (velocity.X > 3f)
22757 {
22758 velocity.X = 3f;
22759 }
22760 if (velocity.X < -3f)
22761 {
22762 velocity.X = -3f;
22763 }
22764 if (velocity.Y > 3f)
22765 {
22766 velocity.Y = 3f;
22767 }
22768 if (velocity.Y < -3f)
22769 {
22770 velocity.Y = -3f;
22771 }
22772 }
22773 }
22774 else if (type == 175)
22775 {
22776 if (velocity.X > 4f)
22777 {
22778 velocity.X = 4f;
22779 }
22780 if (velocity.X < -4f)
22781 {
22782 velocity.X = -4f;
22783 }
22784 if (velocity.Y > 4f)
22785 {
22786 velocity.Y = 4f;
22787 }
22788 if (velocity.Y < -4f)
22789 {
22790 velocity.Y = -4f;
22791 }
22792 }
22793 else
22794 {
22795 if (velocity.X > 2f)
22796 {
22797 velocity.X = 2f;
22798 }
22799 if (velocity.X < -2f)
22800 {
22801 velocity.X = -2f;
22802 }
22803 if (velocity.Y > 2f)
22804 {
22805 velocity.Y = 2f;
22806 }
22807 if (velocity.Y < -2f)
22808 {
22809 velocity.Y = -2f;
22810 }
22811 }
22812 if (type == 259 || type == 260)
22813 {
22814 rotation = (float)Math.Atan2(num711, num710) + 1.57f;
22815 }
22816 else
22817 {
22818 if (num710 > 0f)
22819 {
22820 spriteDirection = 1;
22821 rotation = (float)Math.Atan2(num711, num710);
22822 }
22823 if (num710 < 0f)
22824 {
22825 spriteDirection = -1;
22826 rotation = (float)Math.Atan2(num711, num710) + 3.14f;
22827 }
22828 }
22829 if (collideX)
22830 {
22831 netUpdate = true;
22832 velocity.X = oldVelocity.X * -0.7f;
22833 if (velocity.X > 0f && velocity.X < 2f)
22834 {
22835 velocity.X = 2f;
22836 }
22837 if (velocity.X < 0f && velocity.X > -2f)
22838 {
22839 velocity.X = -2f;
22840 }
22841 }
22842 if (collideY)
22843 {
22844 netUpdate = true;
22845 velocity.Y = oldVelocity.Y * -0.7f;
22846 if (velocity.Y > 0f && velocity.Y < 2f)
22847 {
22848 velocity.Y = 2f;
22849 }
22850 if (velocity.Y < 0f && velocity.Y > -2f)
22851 {
22852 velocity.Y = -2f;
22853 }
22854 }
22855 if (Main.netMode == 1)
22856 {
22857 return;
22858 }
22859 if (type == 101 && !Main.player[target].DeadOrGhost)
22860 {
22861 if (justHit)
22862 {
22863 localAI[0] = 0f;
22864 }
22865 localAI[0] += 1f;
22866 if (localAI[0] >= 120f)
22867 {
22868 if (!Collision.SolidCollision(position, width, height) && Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height))
22869 {
22870 float num713 = 10f;
22871 ((Vector2)(ref vector168))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
22872 num710 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector168.X + (float)Main.rand.Next(-10, 11);
22873 num711 = Main.player[target].position.Y + (float)Main.player[target].height * 0.5f - vector168.Y + (float)Main.rand.Next(-10, 11);
22874 num712 = (float)Math.Sqrt(num710 * num710 + num711 * num711);
22875 num712 = num713 / num712;
22876 num710 *= num712;
22877 num711 *= num712;
22879 int num714 = 96;
22880 int num715 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector168.X, vector168.Y, num710, num711, num714, attackDamage_ForProjectiles5, 0f, Main.myPlayer);
22881 Main.projectile[num715].timeLeft = 300;
22882 localAI[0] = 0f;
22883 }
22884 else
22885 {
22886 localAI[0] = 100f;
22887 }
22888 }
22889 }
22890 if (type != 260 || Main.player[target].DeadOrGhost)
22891 {
22892 return;
22893 }
22894 if (justHit)
22895 {
22896 localAI[0] = 0f;
22897 }
22898 localAI[0] += 1f;
22899 if (!(localAI[0] >= 150f))
22900 {
22901 return;
22902 }
22903 if (!Collision.SolidCollision(position, width, height) && Collision.CanHit(this, Main.player[target]))
22904 {
22905 float num716 = 14f;
22906 ((Vector2)(ref vector168))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
22907 num710 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector168.X + (float)Main.rand.Next(-10, 11);
22908 float num717 = Math.Abs(num710 * 0.1f);
22909 if (num711 > 0f)
22910 {
22911 num717 = 0f;
22912 }
22913 num711 = Main.player[target].position.Y + (float)Main.player[target].height * 0.5f - vector168.Y + (float)Main.rand.Next(-10, 11) - num717;
22914 num712 = (float)Math.Sqrt(num710 * num710 + num711 * num711);
22915 num712 = num716 / num712;
22916 num710 *= num712;
22917 num711 *= num712;
22918 int num720 = NewNPC(GetSpawnSourceForProjectileNPC(), (int)base.Center.X, (int)base.Center.Y, 261);
22919 Main.npc[num720].velocity.X = num710;
22920 Main.npc[num720].velocity.Y = num711;
22921 Main.npc[num720].netUpdate = true;
22922 localAI[0] = 0f;
22923 }
22924 else
22925 {
22926 localAI[0] = 250f;
22927 }
22928 return;
22929 }
22930 if (aiStyle == 14)
22931 {
22932 noGravity = true;
22933 if (collideX)
22934 {
22935 velocity.X = oldVelocity.X * -0.5f;
22936 if (direction == -1 && velocity.X > 0f && velocity.X < 2f)
22937 {
22938 velocity.X = 2f;
22939 }
22940 if (direction == 1 && velocity.X < 0f && velocity.X > -2f)
22941 {
22942 velocity.X = -2f;
22943 }
22944 }
22945 if (collideY)
22946 {
22947 velocity.Y = oldVelocity.Y * -0.5f;
22948 if (velocity.Y > 0f && velocity.Y < 1f)
22949 {
22950 velocity.Y = 1f;
22951 }
22952 if (velocity.Y < 0f && velocity.Y > -1f)
22953 {
22954 velocity.Y = -1f;
22955 }
22956 }
22957 if (type == 226)
22958 {
22959 int num721 = 1;
22960 int num722 = 1;
22961 if (velocity.X < 0f)
22962 {
22963 num721 = -1;
22964 }
22965 if (velocity.Y < 0f)
22966 {
22967 num722 = -1;
22968 }
22969 TargetClosest();
22970 if (!Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height))
22971 {
22972 direction = num721;
22974 }
22975 }
22976 else
22977 {
22978 TargetClosest();
22979 }
22980 if (type == 158)
22981 {
22982 if ((double)position.Y < Main.worldSurface * 16.0 && Main.IsItDay() && !Main.eclipse)
22983 {
22984 directionY = -1;
22985 direction *= -1;
22986 }
22987 if (direction == -1 && velocity.X > -7f)
22988 {
22989 velocity.X -= 0.2f;
22990 if (velocity.X > 4f)
22991 {
22992 velocity.X -= 0.1f;
22993 }
22994 else if (velocity.X > 0f)
22995 {
22996 velocity.X += 0.05f;
22997 }
22998 if (velocity.X < -7f)
22999 {
23000 velocity.X = -7f;
23001 }
23002 }
23003 else if (direction == 1 && velocity.X < 7f)
23004 {
23005 velocity.X += 0.2f;
23006 if (velocity.X < -4f)
23007 {
23008 velocity.X += 0.1f;
23009 }
23010 else if (velocity.X < 0f)
23011 {
23012 velocity.X -= 0.05f;
23013 }
23014 if (velocity.X > 7f)
23015 {
23016 velocity.X = 7f;
23017 }
23018 }
23019 if (directionY == -1 && velocity.Y > -7f)
23020 {
23021 velocity.Y -= 0.2f;
23022 if (velocity.Y > 4f)
23023 {
23024 velocity.Y -= 0.1f;
23025 }
23026 else if (velocity.Y > 0f)
23027 {
23028 velocity.Y += 0.05f;
23029 }
23030 if (velocity.Y < -7f)
23031 {
23032 velocity.Y = -7f;
23033 }
23034 }
23035 else if (directionY == 1 && velocity.Y < 7f)
23036 {
23037 velocity.Y += 0.2f;
23038 if (velocity.Y < -4f)
23039 {
23040 velocity.Y += 0.1f;
23041 }
23042 else if (velocity.Y < 0f)
23043 {
23044 velocity.Y -= 0.05f;
23045 }
23046 if (velocity.Y > 7f)
23047 {
23048 velocity.Y = 7f;
23049 }
23050 }
23051 }
23052 else if (type == 226)
23053 {
23054 if (direction == -1 && velocity.X > -4f)
23055 {
23056 velocity.X -= 0.2f;
23057 if (velocity.X > 4f)
23058 {
23059 velocity.X -= 0.1f;
23060 }
23061 else if (velocity.X > 0f)
23062 {
23063 velocity.X += 0.05f;
23064 }
23065 if (velocity.X < -4f)
23066 {
23067 velocity.X = -4f;
23068 }
23069 }
23070 else if (direction == 1 && velocity.X < 4f)
23071 {
23072 velocity.X += 0.2f;
23073 if (velocity.X < -4f)
23074 {
23075 velocity.X += 0.1f;
23076 }
23077 else if (velocity.X < 0f)
23078 {
23079 velocity.X -= 0.05f;
23080 }
23081 if (velocity.X > 4f)
23082 {
23083 velocity.X = 4f;
23084 }
23085 }
23086 if (directionY == -1 && (double)velocity.Y > -2.5)
23087 {
23088 velocity.Y -= 0.1f;
23089 if ((double)velocity.Y > 2.5)
23090 {
23091 velocity.Y -= 0.05f;
23092 }
23093 else if (velocity.Y > 0f)
23094 {
23095 velocity.Y += 0.03f;
23096 }
23097 if ((double)velocity.Y < -2.5)
23098 {
23099 velocity.Y = -2.5f;
23100 }
23101 }
23102 else if (directionY == 1 && (double)velocity.Y < 2.5)
23103 {
23104 velocity.Y += 0.1f;
23105 if ((double)velocity.Y < -2.5)
23106 {
23107 velocity.Y += 0.05f;
23108 }
23109 else if (velocity.Y < 0f)
23110 {
23111 velocity.Y -= 0.03f;
23112 }
23113 if ((double)velocity.Y > 2.5)
23114 {
23115 velocity.Y = 2.5f;
23116 }
23117 }
23118 }
23119 else if (type == 660)
23120 {
23121 float num723 = 0.1f;
23122 float num724 = 0.04f;
23123 float num725 = 4f;
23124 float num726 = 1.5f;
23125 int num727 = type;
23126 if (num727 == 660)
23127 {
23128 num723 = 0.35f;
23129 num724 = 0.3f;
23130 num725 = 6f;
23131 num726 = 5f;
23132 }
23133 if (direction == -1 && velocity.X > 0f - num725)
23134 {
23135 velocity.X -= num723;
23136 if (velocity.X > num725)
23137 {
23138 velocity.X -= num723;
23139 }
23140 else if (velocity.X > 0f)
23141 {
23142 velocity.X += num723 * 0.5f;
23143 }
23144 if (velocity.X < 0f - num725)
23145 {
23146 velocity.X = 0f - num725;
23147 }
23148 }
23149 else if (direction == 1 && velocity.X < num725)
23150 {
23151 velocity.X += num723;
23152 if (velocity.X < 0f - num725)
23153 {
23154 velocity.X += num723;
23155 }
23156 else if (velocity.X < 0f)
23157 {
23158 velocity.X -= num723 * 0.5f;
23159 }
23160 if (velocity.X > num725)
23161 {
23162 velocity.X = num725;
23163 }
23164 }
23165 if (directionY == -1 && velocity.Y > 0f - num726)
23166 {
23167 velocity.Y -= num724;
23168 if (velocity.Y > num726)
23169 {
23170 velocity.Y -= num724;
23171 }
23172 else if (velocity.Y > 0f)
23173 {
23174 velocity.Y += num724 * 0.75f;
23175 }
23176 if (velocity.Y < 0f - num726)
23177 {
23178 velocity.Y = 0f - num726;
23179 }
23180 }
23181 else if (directionY == 1 && velocity.Y < num726)
23182 {
23183 velocity.Y += num724;
23184 if (velocity.Y < 0f - num726)
23185 {
23186 velocity.Y += num724;
23187 }
23188 else if (velocity.Y < 0f)
23189 {
23190 velocity.Y -= num724 * 0.75f;
23191 }
23192 if (velocity.Y > num726)
23193 {
23194 velocity.Y = num726;
23195 }
23196 }
23197 }
23198 else
23199 {
23200 if (direction == -1 && velocity.X > -4f)
23201 {
23202 velocity.X -= 0.1f;
23203 if (velocity.X > 4f)
23204 {
23205 velocity.X -= 0.1f;
23206 }
23207 else if (velocity.X > 0f)
23208 {
23209 velocity.X += 0.05f;
23210 }
23211 if (velocity.X < -4f)
23212 {
23213 velocity.X = -4f;
23214 }
23215 }
23216 else if (direction == 1 && velocity.X < 4f)
23217 {
23218 velocity.X += 0.1f;
23219 if (velocity.X < -4f)
23220 {
23221 velocity.X += 0.1f;
23222 }
23223 else if (velocity.X < 0f)
23224 {
23225 velocity.X -= 0.05f;
23226 }
23227 if (velocity.X > 4f)
23228 {
23229 velocity.X = 4f;
23230 }
23231 }
23232 if (directionY == -1 && (double)velocity.Y > -1.5)
23233 {
23234 velocity.Y -= 0.04f;
23235 if ((double)velocity.Y > 1.5)
23236 {
23237 velocity.Y -= 0.05f;
23238 }
23239 else if (velocity.Y > 0f)
23240 {
23241 velocity.Y += 0.03f;
23242 }
23243 if ((double)velocity.Y < -1.5)
23244 {
23245 velocity.Y = -1.5f;
23246 }
23247 }
23248 else if (directionY == 1 && (double)velocity.Y < 1.5)
23249 {
23250 velocity.Y += 0.04f;
23251 if ((double)velocity.Y < -1.5)
23252 {
23253 velocity.Y += 0.05f;
23254 }
23255 else if (velocity.Y < 0f)
23256 {
23257 velocity.Y -= 0.03f;
23258 }
23259 if ((double)velocity.Y > 1.5)
23260 {
23261 velocity.Y = 1.5f;
23262 }
23263 }
23264 }
23265 if (type == 49 || type == 51 || type == 60 || type == 62 || type == 66 || type == 93 || type == 137 || type == 150 || type == 151 || type == 152 || type == 634)
23266 {
23267 if (wet)
23268 {
23269 if (velocity.Y > 0f)
23270 {
23271 velocity.Y *= 0.95f;
23272 }
23273 velocity.Y -= 0.5f;
23274 if (velocity.Y < -4f)
23275 {
23276 velocity.Y = -4f;
23277 }
23278 TargetClosest();
23279 }
23280 if (type == 60)
23281 {
23282 if (direction == -1 && velocity.X > -4f)
23283 {
23284 velocity.X -= 0.1f;
23285 if (velocity.X > 4f)
23286 {
23287 velocity.X -= 0.07f;
23288 }
23289 else if (velocity.X > 0f)
23290 {
23291 velocity.X += 0.03f;
23292 }
23293 if (velocity.X < -4f)
23294 {
23295 velocity.X = -4f;
23296 }
23297 }
23298 else if (direction == 1 && velocity.X < 4f)
23299 {
23300 velocity.X += 0.1f;
23301 if (velocity.X < -4f)
23302 {
23303 velocity.X += 0.07f;
23304 }
23305 else if (velocity.X < 0f)
23306 {
23307 velocity.X -= 0.03f;
23308 }
23309 if (velocity.X > 4f)
23310 {
23311 velocity.X = 4f;
23312 }
23313 }
23314 if (directionY == -1 && (double)velocity.Y > -1.5)
23315 {
23316 velocity.Y -= 0.04f;
23317 if ((double)velocity.Y > 1.5)
23318 {
23319 velocity.Y -= 0.03f;
23320 }
23321 else if (velocity.Y > 0f)
23322 {
23323 velocity.Y += 0.02f;
23324 }
23325 if ((double)velocity.Y < -1.5)
23326 {
23327 velocity.Y = -1.5f;
23328 }
23329 }
23330 else if (directionY == 1 && (double)velocity.Y < 1.5)
23331 {
23332 velocity.Y += 0.04f;
23333 if ((double)velocity.Y < -1.5)
23334 {
23335 velocity.Y += 0.03f;
23336 }
23337 else if (velocity.Y < 0f)
23338 {
23339 velocity.Y -= 0.02f;
23340 }
23341 if ((double)velocity.Y > 1.5)
23342 {
23343 velocity.Y = 1.5f;
23344 }
23345 }
23346 }
23347 else
23348 {
23349 if (direction == -1 && velocity.X > -4f)
23350 {
23351 velocity.X -= 0.1f;
23352 if (velocity.X > 4f)
23353 {
23354 velocity.X -= 0.1f;
23355 }
23356 else if (velocity.X > 0f)
23357 {
23358 velocity.X += 0.05f;
23359 }
23360 if (velocity.X < -4f)
23361 {
23362 velocity.X = -4f;
23363 }
23364 }
23365 else if (direction == 1 && velocity.X < 4f)
23366 {
23367 velocity.X += 0.1f;
23368 if (velocity.X < -4f)
23369 {
23370 velocity.X += 0.1f;
23371 }
23372 else if (velocity.X < 0f)
23373 {
23374 velocity.X -= 0.05f;
23375 }
23376 if (velocity.X > 4f)
23377 {
23378 velocity.X = 4f;
23379 }
23380 }
23381 if (directionY == -1 && (double)velocity.Y > -1.5)
23382 {
23383 velocity.Y -= 0.04f;
23384 if ((double)velocity.Y > 1.5)
23385 {
23386 velocity.Y -= 0.05f;
23387 }
23388 else if (velocity.Y > 0f)
23389 {
23390 velocity.Y += 0.03f;
23391 }
23392 if ((double)velocity.Y < -1.5)
23393 {
23394 velocity.Y = -1.5f;
23395 }
23396 }
23397 else if (directionY == 1 && (double)velocity.Y < 1.5)
23398 {
23399 velocity.Y += 0.04f;
23400 if ((double)velocity.Y < -1.5)
23401 {
23402 velocity.Y += 0.05f;
23403 }
23404 else if (velocity.Y < 0f)
23405 {
23406 velocity.Y -= 0.03f;
23407 }
23408 if ((double)velocity.Y > 1.5)
23409 {
23410 velocity.Y = 1.5f;
23411 }
23412 }
23413 }
23414 }
23415 if (type == 48 && wet)
23416 {
23417 if (velocity.Y > 0f)
23418 {
23419 velocity.Y *= 0.95f;
23420 }
23421 velocity.Y -= 0.5f;
23422 if (velocity.Y < -4f)
23423 {
23424 velocity.Y = -4f;
23425 }
23426 TargetClosest();
23427 }
23428 if (type == 158 && Main.netMode != 1)
23429 {
23430 Vector2 vector179 = default(Vector2);
23431 ((Vector2)(ref vector179))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
23432 float num728 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector179.X;
23433 float num729 = Main.player[target].position.Y + (float)Main.player[target].height * 0.5f - vector179.Y;
23434 float num731 = (float)Math.Sqrt(num728 * num728 + num729 * num729);
23435 if (num731 < 200f && position.Y + (float)height < Main.player[target].position.Y + (float)Main.player[target].height && Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height))
23436 {
23437 Transform(159);
23438 }
23439 }
23440 this.ai[1] += 1f;
23441 if (type == 158)
23442 {
23443 this.ai[1] += 1f;
23444 }
23445 if (this.ai[1] > 200f)
23446 {
23447 if (!Main.player[target].wet && Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height))
23448 {
23449 this.ai[1] = 0f;
23450 }
23451 float num732 = 0.2f;
23452 float num733 = 0.1f;
23453 float num734 = 4f;
23454 float num735 = 1.5f;
23455 if (type == 48 || type == 62 || type == 66)
23456 {
23457 num732 = 0.12f;
23458 num733 = 0.07f;
23459 num734 = 3f;
23460 num735 = 1.25f;
23461 }
23462 if (this.ai[1] > 1000f)
23463 {
23464 this.ai[1] = 0f;
23465 }
23466 this.ai[2] += 1f;
23467 if (this.ai[2] > 0f)
23468 {
23469 if (velocity.Y < num735)
23470 {
23471 velocity.Y += num733;
23472 }
23473 }
23474 else if (velocity.Y > 0f - num735)
23475 {
23476 velocity.Y -= num733;
23477 }
23478 if (this.ai[2] < -150f || this.ai[2] > 150f)
23479 {
23480 if (velocity.X < num734)
23481 {
23482 velocity.X += num732;
23483 }
23484 }
23485 else if (velocity.X > 0f - num734)
23486 {
23487 velocity.X -= num732;
23488 }
23489 if (this.ai[2] > 300f)
23490 {
23491 this.ai[2] = -300f;
23492 }
23493 }
23494 if (Main.netMode == 1)
23495 {
23496 return;
23497 }
23498 if (type == 48)
23499 {
23500 this.ai[0] += 1f;
23501 if (this.ai[0] == 30f || this.ai[0] == 60f || this.ai[0] == 90f)
23502 {
23503 if (Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height))
23504 {
23505 float num736 = 6f;
23506 Vector2 vector190 = default(Vector2);
23507 ((Vector2)(ref vector190))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
23508 float num737 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector190.X + (float)Main.rand.Next(-100, 101);
23509 float num738 = Main.player[target].position.Y + (float)Main.player[target].height * 0.5f - vector190.Y + (float)Main.rand.Next(-100, 101);
23510 float num739 = (float)Math.Sqrt(num737 * num737 + num738 * num738);
23511 num739 = num736 / num739;
23512 num737 *= num739;
23513 num738 *= num739;
23514 int num740 = 15;
23515 int num742 = 38;
23516 int num743 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector190.X, vector190.Y, num737, num738, num742, num740, 0f, Main.myPlayer);
23517 Main.projectile[num743].timeLeft = 300;
23518 }
23519 }
23520 else if (this.ai[0] >= (float)(400 + Main.rand.Next(400)))
23521 {
23522 this.ai[0] = 0f;
23523 }
23524 }
23525 if (type == 62 || type == 66)
23526 {
23527 this.ai[0] += 1f;
23528 if (this.ai[0] == 20f || this.ai[0] == 40f || this.ai[0] == 60f || this.ai[0] == 80f)
23529 {
23530 if (Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height))
23531 {
23532 float num744 = 0.2f;
23533 Vector2 vector201 = default(Vector2);
23534 ((Vector2)(ref vector201))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
23535 float num745 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector201.X + (float)Main.rand.Next(-100, 101);
23536 float num746 = Main.player[target].position.Y + (float)Main.player[target].height * 0.5f - vector201.Y + (float)Main.rand.Next(-100, 101);
23537 float num747 = (float)Math.Sqrt(num745 * num745 + num746 * num746);
23538 num747 = num744 / num747;
23539 num745 *= num747;
23540 num746 *= num747;
23541 int num748 = 21;
23542 int num749 = 44;
23543 int num750 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector201.X, vector201.Y, num745, num746, num749, num748, 0f, Main.myPlayer);
23544 Main.projectile[num750].timeLeft = 300;
23545 }
23546 }
23547 else if (this.ai[0] >= (float)(300 + Main.rand.Next(300)))
23548 {
23549 this.ai[0] = 0f;
23550 }
23551 }
23552 if (type != 156)
23553 {
23554 return;
23555 }
23556 this.ai[0] += 1f;
23557 if (this.ai[0] == 20f || this.ai[0] == 40f || this.ai[0] == 60f || this.ai[0] == 80f || this.ai[0] == 100f)
23558 {
23559 if (Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height))
23560 {
23561 float num751 = 0.2f;
23562 Vector2 vector212 = default(Vector2);
23563 ((Vector2)(ref vector212))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
23564 float num753 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector212.X + (float)Main.rand.Next(-50, 51);
23565 float num754 = Main.player[target].position.Y + (float)Main.player[target].height * 0.5f - vector212.Y + (float)Main.rand.Next(-50, 51);
23566 float num755 = (float)Math.Sqrt(num753 * num753 + num754 * num754);
23567 num755 = num751 / num755;
23568 num753 *= num755;
23569 num754 *= num755;
23570 int num756 = 80;
23571 int num757 = 115;
23572 vector212 += velocity * 5f;
23573 int num758 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector212.X + num753 * 100f, vector212.Y + num754 * 100f, num753, num754, num757, num756, 0f, Main.myPlayer);
23574 Main.projectile[num758].timeLeft = 300;
23575 }
23576 }
23577 else if (this.ai[0] >= (float)(250 + Main.rand.Next(250)))
23578 {
23579 this.ai[0] = 0f;
23580 }
23581 return;
23582 }
23583 if (aiStyle == 15)
23584 {
23585 float num759 = 1f;
23586 float num760 = 1f;
23587 bool flag68 = false;
23588 bool flag79 = false;
23589 bool flag90 = false;
23590 float num761 = 2f;
23591 if (Main.getGoodWorld)
23592 {
23593 num761 -= 1f - (float)life / (float)lifeMax;
23594 num760 *= num761;
23595 }
23596 aiAction = 0;
23597 if (this.ai[3] == 0f && life > 0)
23598 {
23599 this.ai[3] = lifeMax;
23600 }
23601 if (localAI[3] == 0f)
23602 {
23603 localAI[3] = 1f;
23604 flag68 = true;
23605 if (Main.netMode != 1)
23606 {
23607 this.ai[0] = -100f;
23608 TargetClosest();
23609 netUpdate = true;
23610 }
23611 }
23612 int num762 = 3000;
23613 if (Main.player[target].dead || Vector2.Distance(base.Center, Main.player[target].Center) > (float)num762)
23614 {
23615 TargetClosest();
23616 if (Main.player[target].dead || Vector2.Distance(base.Center, Main.player[target].Center) > (float)num762)
23617 {
23618 EncourageDespawn(10);
23619 if (Main.player[target].Center.X < base.Center.X)
23620 {
23621 direction = 1;
23622 }
23623 else
23624 {
23625 direction = -1;
23626 }
23627 if (Main.netMode != 1 && this.ai[1] != 5f)
23628 {
23629 netUpdate = true;
23630 this.ai[2] = 0f;
23631 this.ai[0] = 0f;
23632 this.ai[1] = 5f;
23633 localAI[1] = Main.maxTilesX * 16;
23634 localAI[2] = Main.maxTilesY * 16;
23635 }
23636 }
23637 }
23638 if (!Main.player[target].dead && timeLeft > 10 && this.ai[2] >= 300f && this.ai[1] < 5f && velocity.Y == 0f)
23639 {
23640 this.ai[2] = 0f;
23641 this.ai[0] = 0f;
23642 this.ai[1] = 5f;
23643 if (Main.netMode != 1)
23644 {
23646 Point point10 = base.Center.ToTileCoordinates();
23647 Point point11 = Main.player[target].Center.ToTileCoordinates();
23648 Vector2 vector224 = Main.player[target].Center - base.Center;
23649 int num764 = 10;
23650 int num765 = 0;
23651 int num766 = 7;
23652 int num767 = 0;
23653 bool flag101 = false;
23654 if (localAI[0] >= 360f || ((Vector2)(ref vector224)).Length() > 2000f)
23655 {
23656 if (localAI[0] >= 360f)
23657 {
23658 localAI[0] = 360f;
23659 }
23660 flag101 = true;
23661 num767 = 100;
23662 }
23663 while (!flag101 && num767 < 100)
23664 {
23665 num767++;
23666 int num768 = Main.rand.Next(point11.X - num764, point11.X + num764 + 1);
23667 int num769 = Main.rand.Next(point11.Y - num764, point11.Y + 1);
23669 {
23670 continue;
23671 }
23672 int num770 = num769;
23673 int num771 = 0;
23674 if (Main.tile[num768, num770].nactive() && Main.tileSolid[Main.tile[num768, num770].type] && !Main.tileSolidTop[Main.tile[num768, num770].type])
23675 {
23676 num771 = 1;
23677 }
23678 else
23679 {
23680 for (; num771 < 150 && num770 + num771 < Main.maxTilesY; num771++)
23681 {
23682 int num772 = num770 + num771;
23683 if (Main.tile[num768, num772].nactive() && Main.tileSolid[Main.tile[num768, num772].type] && !Main.tileSolidTop[Main.tile[num768, num772].type])
23684 {
23685 num771--;
23686 break;
23687 }
23688 }
23689 }
23690 num769 += num771;
23691 bool flag2 = true;
23692 if (flag2 && Main.tile[num768, num769].lava())
23693 {
23694 flag2 = false;
23695 }
23696 if (flag2 && !Collision.CanHitLine(base.Center, 0, 0, Main.player[target].Center, 0, 0))
23697 {
23698 flag2 = false;
23699 }
23700 if (flag2)
23701 {
23702 localAI[1] = num768 * 16 + 8;
23703 localAI[2] = num769 * 16 + 16;
23704 flag101 = true;
23705 break;
23706 }
23707 }
23708 if (num767 >= 100)
23709 {
23710 Vector2 bottom = Main.player[Player.FindClosest(position, width, height)].Bottom;
23711 localAI[1] = bottom.X;
23712 localAI[2] = bottom.Y;
23713 }
23714 }
23715 }
23716 if (!Collision.CanHitLine(base.Center, 0, 0, Main.player[target].Center, 0, 0) || Math.Abs(base.Top.Y - Main.player[target].Bottom.Y) > 160f)
23717 {
23718 this.ai[2]++;
23719 if (Main.netMode != 1)
23720 {
23721 localAI[0]++;
23722 }
23723 }
23724 else if (Main.netMode != 1)
23725 {
23726 localAI[0]--;
23727 if (localAI[0] < 0f)
23728 {
23729 localAI[0] = 0f;
23730 }
23731 }
23732 if (timeLeft < 10 && (this.ai[0] != 0f || this.ai[1] != 0f))
23733 {
23734 this.ai[0] = 0f;
23735 this.ai[1] = 0f;
23736 netUpdate = true;
23737 flag79 = false;
23738 }
23739 Dust dust26;
23740 Dust dust87;
23741 if (this.ai[1] == 5f)
23742 {
23743 flag79 = true;
23744 aiAction = 1;
23745 this.ai[0]++;
23746 num759 = MathHelper.Clamp((60f - this.ai[0]) / 60f, 0f, 1f);
23747 num759 = 0.5f + num759 * 0.5f;
23748 if (this.ai[0] >= 60f)
23749 {
23750 flag90 = true;
23751 }
23752 if (this.ai[0] == 60f)
23753 {
23754 Gore.NewGore(base.Center + new Vector2(-40f, (float)(-height / 2)), velocity, 734);
23755 }
23756 if (this.ai[0] >= 60f && Main.netMode != 1)
23757 {
23758 base.Bottom = new Vector2(localAI[1], localAI[2]);
23759 this.ai[1] = 6f;
23760 this.ai[0] = 0f;
23761 netUpdate = true;
23762 }
23763 if (Main.netMode == 1 && this.ai[0] >= 120f)
23764 {
23765 this.ai[1] = 6f;
23766 this.ai[0] = 0f;
23767 }
23768 if (!flag90)
23769 {
23770 for (int num773 = 0; num773 < 10; num773++)
23771 {
23772 int num775 = Dust.NewDust(position + Vector2.UnitX * -20f, width + 40, height, 4, velocity.X, velocity.Y, 150, new Color(78, 136, 255, 80), 2f);
23773 Main.dust[num775].noGravity = true;
23774 dust26 = Main.dust[num775];
23775 dust87 = dust26;
23776 dust87.velocity *= 0.5f;
23777 }
23778 }
23779 }
23780 else if (this.ai[1] == 6f)
23781 {
23782 flag79 = true;
23783 aiAction = 0;
23784 this.ai[0]++;
23785 num759 = MathHelper.Clamp(this.ai[0] / 30f, 0f, 1f);
23786 num759 = 0.5f + num759 * 0.5f;
23787 if (this.ai[0] >= 30f && Main.netMode != 1)
23788 {
23789 this.ai[1] = 0f;
23790 this.ai[0] = 0f;
23791 netUpdate = true;
23792 TargetClosest();
23793 }
23794 if (Main.netMode == 1 && this.ai[0] >= 60f)
23795 {
23796 this.ai[1] = 0f;
23797 this.ai[0] = 0f;
23798 TargetClosest();
23799 }
23800 for (int num776 = 0; num776 < 10; num776++)
23801 {
23802 int num777 = Dust.NewDust(position + Vector2.UnitX * -20f, width + 40, height, 4, velocity.X, velocity.Y, 150, new Color(78, 136, 255, 80), 2f);
23803 Main.dust[num777].noGravity = true;
23804 dust26 = Main.dust[num777];
23805 dust87 = dust26;
23806 dust87.velocity *= 2f;
23807 }
23808 }
23810 if (velocity.Y == 0f)
23811 {
23812 velocity.X *= 0.8f;
23813 if ((double)velocity.X > -0.1 && (double)velocity.X < 0.1)
23814 {
23815 velocity.X = 0f;
23816 }
23817 if (!flag79)
23818 {
23819 this.ai[0] += 2f;
23820 if ((double)life < (double)lifeMax * 0.8)
23821 {
23822 this.ai[0] += 1f;
23823 }
23824 if ((double)life < (double)lifeMax * 0.6)
23825 {
23826 this.ai[0] += 1f;
23827 }
23828 if ((double)life < (double)lifeMax * 0.4)
23829 {
23830 this.ai[0] += 2f;
23831 }
23832 if ((double)life < (double)lifeMax * 0.2)
23833 {
23834 this.ai[0] += 3f;
23835 }
23836 if ((double)life < (double)lifeMax * 0.1)
23837 {
23838 this.ai[0] += 4f;
23839 }
23840 if (this.ai[0] >= 0f)
23841 {
23842 netUpdate = true;
23843 TargetClosest();
23844 if (this.ai[1] == 3f)
23845 {
23846 velocity.Y = -13f;
23847 velocity.X += 3.5f * (float)direction;
23848 this.ai[0] = -200f;
23849 this.ai[1] = 0f;
23850 }
23851 else if (this.ai[1] == 2f)
23852 {
23853 velocity.Y = -6f;
23854 velocity.X += 4.5f * (float)direction;
23855 this.ai[0] = -120f;
23856 this.ai[1] += 1f;
23857 }
23858 else
23859 {
23860 velocity.Y = -8f;
23861 velocity.X += 4f * (float)direction;
23862 this.ai[0] = -120f;
23863 this.ai[1] += 1f;
23864 }
23865 }
23866 else if (this.ai[0] >= -30f)
23867 {
23868 aiAction = 1;
23869 }
23870 }
23871 }
23872 else if (target < 255)
23873 {
23874 float num778 = 3f;
23875 if (Main.getGoodWorld)
23876 {
23877 num778 = 6f;
23878 }
23879 if ((direction == 1 && velocity.X < num778) || (direction == -1 && velocity.X > 0f - num778))
23880 {
23881 if ((direction == -1 && (double)velocity.X < 0.1) || (direction == 1 && (double)velocity.X > -0.1))
23882 {
23883 velocity.X += 0.2f * (float)direction;
23884 }
23885 else
23886 {
23887 velocity.X *= 0.93f;
23888 }
23889 }
23890 }
23891 int num779 = Dust.NewDust(position, width, height, 4, velocity.X, velocity.Y, 255, new Color(0, 80, 255, 80), scale * 1.2f);
23892 Main.dust[num779].noGravity = true;
23893 dust26 = Main.dust[num779];
23894 dust87 = dust26;
23895 dust87.velocity *= 0.5f;
23896 if (life <= 0)
23897 {
23898 return;
23899 }
23900 float num780 = (float)life / (float)lifeMax;
23901 num780 = num780 * 0.5f + 0.75f;
23902 num780 *= num759;
23903 num780 *= num760;
23904 if (num780 != scale || flag68)
23905 {
23906 position.X += width / 2;
23907 position.Y += height;
23908 scale = num780;
23909 width = (int)(98f * scale);
23910 height = (int)(92f * scale);
23911 position.X -= width / 2;
23912 position.Y -= height;
23913 }
23914 if (Main.netMode == 1)
23915 {
23916 return;
23917 }
23918 int num781 = (int)((double)lifeMax * 0.05);
23919 if (!((float)(life + num781) < this.ai[3]))
23920 {
23921 return;
23922 }
23923 this.ai[3] = life;
23924 int num782 = Main.rand.Next(1, 4);
23925 for (int num783 = 0; num783 < num782; num783++)
23926 {
23927 int x = (int)(position.X + (float)Main.rand.Next(width - 32));
23928 int y = (int)(position.Y + (float)Main.rand.Next(height - 32));
23929 int num784 = 1;
23930 if (Main.expertMode && Main.rand.Next(4) == 0)
23931 {
23932 num784 = 535;
23933 }
23935 Main.npc[num786].SetDefaults(num784);
23936 Main.npc[num786].velocity.X = (float)Main.rand.Next(-15, 16) * 0.1f;
23937 Main.npc[num786].velocity.Y = (float)Main.rand.Next(-30, 1) * 0.1f;
23938 Main.npc[num786].ai[0] = -1000 * Main.rand.Next(3);
23939 Main.npc[num786].ai[1] = 0f;
23940 if (Main.netMode == 2 && num786 < 200)
23941 {
23942 NetMessage.SendData(23, -1, -1, null, num786);
23943 }
23944 }
23945 return;
23946 }
23947 if (aiStyle == 16)
23948 {
23949 if (direction == 0)
23950 {
23951 TargetClosest();
23952 }
23953 if (type == 615)
23954 {
23955 if (this.ai[2] == 0f)
23956 {
23957 int num787 = Main.rand.Next(300, 1200);
23958 if ((this.ai[3] += 1f) >= (float)num787)
23959 {
23960 this.ai[2] = Main.rand.Next(1, 3);
23961 if (this.ai[2] == 1f && !Collision.CanHitLine(position, width, height, new Vector2(position.X, position.Y - 128f), width, height))
23962 {
23963 this.ai[2] = 2f;
23964 }
23965 if (this.ai[2] == 2f)
23966 {
23967 TargetClosest();
23968 }
23969 this.ai[3] = 0f;
23970 netUpdate = true;
23971 }
23972 }
23973 if (this.ai[2] == 1f)
23974 {
23975 if (collideY || collideX)
23976 {
23977 this.ai[2] = 0f;
23978 this.ai[3] = 0f;
23979 netUpdate = true;
23980 }
23981 else if (wet)
23982 {
23983 velocity.Y -= 0.4f;
23984 if (velocity.Y < -6f)
23985 {
23986 velocity.Y = -6f;
23987 }
23988 rotation = velocity.Y * (float)direction * 0.3f;
23989 if (rotation < (float)Math.PI * -2f / 5f)
23990 {
23991 rotation = (float)Math.PI * -2f / 5f;
23992 }
23993 if (rotation > (float)Math.PI * 2f / 5f)
23994 {
23995 rotation = (float)Math.PI * 2f / 5f;
23996 }
23997 if (this.ai[3] == 1f)
23998 {
23999 this.ai[2] = 0f;
24000 this.ai[3] = 0f;
24001 netUpdate = true;
24002 }
24003 }
24004 else
24005 {
24006 rotation += (float)direction * 0.2f;
24007 this.ai[3] = 1f;
24008 velocity.Y += 0.3f;
24009 if (velocity.Y > 10f)
24010 {
24011 velocity.Y = 10f;
24012 }
24013 }
24014 return;
24015 }
24016 if (this.ai[2] == 2f)
24017 {
24018 if (collideY || collideX)
24019 {
24020 this.ai[2] = 0f;
24021 this.ai[3] = 0f;
24022 netUpdate = true;
24023 }
24024 else if (wet)
24025 {
24026 velocity.Y -= 0.4f;
24027 if (velocity.Y < -6f)
24028 {
24029 velocity.Y = -6f;
24030 }
24031 rotation = velocity.Y * (float)direction * 0.3f;
24032 if (rotation < (float)Math.PI * -2f / 5f)
24033 {
24034 rotation = (float)Math.PI * -2f / 5f;
24035 }
24036 if (rotation > (float)Math.PI * 2f / 5f)
24037 {
24038 rotation = (float)Math.PI * 2f / 5f;
24039 }
24040 if (Collision.GetWaterLine(base.Top.ToTileCoordinates(), out var waterLineHeight))
24041 {
24042 float y2 = waterLineHeight + 0f - position.Y;
24043 velocity.Y = y2;
24044 velocity.Y = MathHelper.Clamp(velocity.Y, -2f, 0.5f);
24045 rotation = -(float)Math.PI / 5f * (float)direction;
24046 velocity.X *= 0.95f;
24047 if (this.ai[3] == 0f)
24048 {
24049 netUpdate = true;
24050 }
24051 this.ai[3]++;
24052 if (this.ai[3] >= 300f)
24053 {
24054 this.ai[2] = 0f;
24055 this.ai[3] = 0f;
24056 netUpdate = true;
24057 velocity.Y = 4f;
24058 }
24059 if (this.ai[3] == 60f && Main.rand.Next(2) == 0)
24060 {
24061 SoundEngine.PlaySound(45, (int)position.X, (int)position.Y);
24062 }
24063 }
24064 }
24065 else
24066 {
24067 this.ai[2] = 0f;
24068 this.ai[3] = 0f;
24069 netUpdate = true;
24070 velocity.Y += 0.3f;
24071 if (velocity.Y > 10f)
24072 {
24073 velocity.Y = 10f;
24074 }
24075 }
24076 return;
24077 }
24078 }
24079 if (wet)
24080 {
24081 bool flag13 = false;
24082 if (type != 55 && type != 592 && type != 607 && type != 615)
24083 {
24085 if (Main.player[target].wet && !Main.player[target].dead && Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height))
24086 {
24087 flag13 = true;
24088 }
24089 }
24090 int num788 = (int)base.Center.X / 16;
24091 int num789 = (int)(position.Y + (float)height) / 16;
24092 if (Main.tile[num788, num789].topSlope())
24093 {
24094 if (Main.tile[num788, num789].leftSlope())
24095 {
24096 direction = -1;
24097 velocity.X = Math.Abs(velocity.X) * -1f;
24098 }
24099 else
24100 {
24101 direction = 1;
24102 velocity.X = Math.Abs(velocity.X);
24103 }
24104 }
24105 else if (Main.tile[num788, num789 + 1].topSlope())
24106 {
24107 if (Main.tile[num788, num789 + 1].leftSlope())
24108 {
24109 direction = -1;
24110 velocity.X = Math.Abs(velocity.X) * -1f;
24111 }
24112 else
24113 {
24114 direction = 1;
24115 velocity.X = Math.Abs(velocity.X);
24116 }
24117 }
24118 if (!flag13)
24119 {
24120 if (collideX)
24121 {
24122 velocity.X *= -1f;
24123 direction *= -1;
24124 netUpdate = true;
24125 }
24126 if (collideY)
24127 {
24128 netUpdate = true;
24129 if (velocity.Y > 0f)
24130 {
24131 velocity.Y = Math.Abs(velocity.Y) * -1f;
24132 directionY = -1;
24133 this.ai[0] = -1f;
24134 }
24135 else if (velocity.Y < 0f)
24136 {
24137 velocity.Y = Math.Abs(velocity.Y);
24138 directionY = 1;
24139 this.ai[0] = 1f;
24140 }
24141 }
24142 }
24143 if (type == 102)
24144 {
24145 Lighting.AddLight((int)(position.X + (float)(width / 2) + (float)(direction * (width + 8))) / 16, (int)(position.Y + 2f) / 16, 0.07f, 0.04f, 0.025f);
24146 }
24147 if (flag13)
24148 {
24149 TargetClosest();
24150 if (type == 157)
24151 {
24152 if (velocity.X > 0f && direction < 0)
24153 {
24154 velocity.X *= 0.95f;
24155 }
24156 if (velocity.X < 0f && direction > 0)
24157 {
24158 velocity.X *= 0.95f;
24159 }
24160 velocity.X += (float)direction * 0.25f;
24161 velocity.Y += (float)directionY * 0.2f;
24162 if (velocity.X > 8f)
24163 {
24164 velocity.X = 7f;
24165 }
24166 if (velocity.X < -8f)
24167 {
24168 velocity.X = -7f;
24169 }
24170 if (velocity.Y > 5f)
24171 {
24172 velocity.Y = 4f;
24173 }
24174 if (velocity.Y < -5f)
24175 {
24176 velocity.Y = -4f;
24177 }
24178 }
24179 else if (type == 65 || type == 102)
24180 {
24181 velocity.X += (float)direction * 0.15f;
24182 velocity.Y += (float)directionY * 0.15f;
24183 if (velocity.X > 5f)
24184 {
24185 velocity.X = 5f;
24186 }
24187 if (velocity.X < -5f)
24188 {
24189 velocity.X = -5f;
24190 }
24191 if (velocity.Y > 3f)
24192 {
24193 velocity.Y = 3f;
24194 }
24195 if (velocity.Y < -3f)
24196 {
24197 velocity.Y = -3f;
24198 }
24199 }
24200 else
24201 {
24202 velocity.X += (float)direction * 0.1f;
24203 velocity.Y += (float)directionY * 0.1f;
24204 if (velocity.X > 3f)
24205 {
24206 velocity.X = 3f;
24207 }
24208 if (velocity.X < -3f)
24209 {
24210 velocity.X = -3f;
24211 }
24212 if (velocity.Y > 2f)
24213 {
24214 velocity.Y = 2f;
24215 }
24216 if (velocity.Y < -2f)
24217 {
24218 velocity.Y = -2f;
24219 }
24220 }
24221 }
24222 else
24223 {
24224 if (type == 157)
24225 {
24226 if (Main.player[target].position.Y > position.Y)
24227 {
24228 directionY = 1;
24229 }
24230 else
24231 {
24232 directionY = -1;
24233 }
24234 velocity.X += (float)direction * 0.2f;
24235 if (velocity.X < -2f || velocity.X > 2f)
24236 {
24237 velocity.X *= 0.95f;
24238 }
24239 if (this.ai[0] == -1f)
24240 {
24241 float num790 = -0.6f;
24242 if (directionY < 0)
24243 {
24244 num790 = -1f;
24245 }
24246 if (directionY > 0)
24247 {
24248 num790 = -0.2f;
24249 }
24250 velocity.Y -= 0.02f;
24251 if (velocity.Y < num790)
24252 {
24253 this.ai[0] = 1f;
24254 }
24255 }
24256 else
24257 {
24258 float num791 = 0.6f;
24259 if (directionY < 0)
24260 {
24261 num791 = 0.2f;
24262 }
24263 if (directionY > 0)
24264 {
24265 num791 = 1f;
24266 }
24267 velocity.Y += 0.02f;
24268 if (velocity.Y > num791)
24269 {
24270 this.ai[0] = -1f;
24271 }
24272 }
24273 }
24274 else
24275 {
24276 velocity.X += (float)direction * 0.1f;
24277 float num792 = 1f;
24278 if (type == 615)
24279 {
24280 num792 = 3f;
24281 }
24282 if (velocity.X < 0f - num792 || velocity.X > num792)
24283 {
24284 velocity.X *= 0.95f;
24285 }
24286 if (this.ai[0] == -1f)
24287 {
24288 velocity.Y -= 0.01f;
24289 if ((double)velocity.Y < -0.3)
24290 {
24291 this.ai[0] = 1f;
24292 }
24293 }
24294 else
24295 {
24296 velocity.Y += 0.01f;
24297 if ((double)velocity.Y > 0.3)
24298 {
24299 this.ai[0] = -1f;
24300 }
24301 }
24302 }
24303 int num793 = (int)(position.X + (float)(width / 2)) / 16;
24304 int num794 = (int)(position.Y + (float)(height / 2)) / 16;
24305 if (Main.tile[num793, num794 - 1] == null)
24306 {
24307 Main.tile[num793, num794 - 1] = default(Tile);
24308 }
24309 if (Main.tile[num793, num794 + 1] == null)
24310 {
24311 Main.tile[num793, num794 + 1] = default(Tile);
24312 }
24313 if (Main.tile[num793, num794 + 2] == null)
24314 {
24315 Main.tile[num793, num794 + 2] = default(Tile);
24316 }
24317 if (Main.tile[num793, num794 - 1].liquid > 128)
24318 {
24319 if (Main.tile[num793, num794 + 1].active())
24320 {
24321 this.ai[0] = -1f;
24322 }
24323 else if (Main.tile[num793, num794 + 2].active())
24324 {
24325 this.ai[0] = -1f;
24326 }
24327 }
24328 if (type != 157 && ((double)velocity.Y > 0.4 || (double)velocity.Y < -0.4))
24329 {
24330 velocity.Y *= 0.95f;
24331 }
24332 }
24333 }
24334 else
24335 {
24336 if (velocity.Y == 0f)
24337 {
24338 if (type == 65)
24339 {
24340 velocity.X *= 0.94f;
24341 if ((double)velocity.X > -0.2 && (double)velocity.X < 0.2)
24342 {
24343 velocity.X = 0f;
24344 }
24345 }
24346 else if (Main.netMode != 1)
24347 {
24348 velocity.Y = (float)Main.rand.Next(-50, -20) * 0.1f;
24349 velocity.X = (float)Main.rand.Next(-20, 20) * 0.1f;
24350 netUpdate = true;
24351 }
24352 }
24353 velocity.Y += 0.3f;
24354 if (velocity.Y > 10f)
24355 {
24356 velocity.Y = 10f;
24357 }
24358 this.ai[0] = 1f;
24359 }
24360 rotation = velocity.Y * (float)direction * 0.1f;
24361 if ((double)rotation < -0.2)
24362 {
24363 rotation = -0.2f;
24364 }
24365 if ((double)rotation > 0.2)
24366 {
24367 rotation = 0.2f;
24368 }
24369 return;
24370 }
24371 Rectangle val38;
24372 if (aiStyle == 17)
24373 {
24374 noGravity = true;
24375 if (this.ai[0] == 0f)
24376 {
24377 noGravity = false;
24378 TargetClosest();
24379 if (Main.netMode != 1)
24380 {
24381 if (velocity.X != 0f || velocity.Y < 0f || (double)velocity.Y > 0.3)
24382 {
24383 this.ai[0] = 1f;
24384 netUpdate = true;
24385 }
24386 else
24387 {
24388 Rectangle rectangle = default(Rectangle);
24389 ((Rectangle)(ref rectangle))._002Ector((int)Main.player[target].position.X, (int)Main.player[target].position.Y, Main.player[target].width, Main.player[target].height);
24390 val38 = new Rectangle((int)position.X - 100, (int)position.Y - 100, width + 200, height + 200);
24391 if (((Rectangle)(ref val38)).Intersects(rectangle) || life < lifeMax)
24392 {
24393 this.ai[0] = 1f;
24394 velocity.Y -= 6f;
24395 netUpdate = true;
24396 }
24397 }
24398 }
24399 }
24400 else if (!Main.player[target].dead)
24401 {
24402 if (collideX)
24403 {
24404 velocity.X = oldVelocity.X * -0.5f;
24405 if (direction == -1 && velocity.X > 0f && velocity.X < 2f)
24406 {
24407 velocity.X = 2f;
24408 }
24409 if (direction == 1 && velocity.X < 0f && velocity.X > -2f)
24410 {
24411 velocity.X = -2f;
24412 }
24413 }
24414 if (collideY)
24415 {
24416 velocity.Y = oldVelocity.Y * -0.5f;
24417 if (velocity.Y > 0f && velocity.Y < 1f)
24418 {
24419 velocity.Y = 1f;
24420 }
24421 if (velocity.Y < 0f && velocity.Y > -1f)
24422 {
24423 velocity.Y = -1f;
24424 }
24425 }
24426 TargetClosest();
24427 if (direction == -1 && velocity.X > -3f)
24428 {
24429 velocity.X -= 0.1f;
24430 if (velocity.X > 3f)
24431 {
24432 velocity.X -= 0.1f;
24433 }
24434 else if (velocity.X > 0f)
24435 {
24436 velocity.X -= 0.05f;
24437 }
24438 if (velocity.X < -3f)
24439 {
24440 velocity.X = -3f;
24441 }
24442 }
24443 else if (direction == 1 && velocity.X < 3f)
24444 {
24445 velocity.X += 0.1f;
24446 if (velocity.X < -3f)
24447 {
24448 velocity.X += 0.1f;
24449 }
24450 else if (velocity.X < 0f)
24451 {
24452 velocity.X += 0.05f;
24453 }
24454 if (velocity.X > 3f)
24455 {
24456 velocity.X = 3f;
24457 }
24458 }
24459 float num795 = Math.Abs(position.X + (float)(width / 2) - (Main.player[target].position.X + (float)(Main.player[target].width / 2)));
24460 float num797 = Main.player[target].position.Y - (float)(height / 2);
24461 if (num795 > 50f)
24462 {
24463 num797 -= 100f;
24464 }
24465 if (position.Y < num797)
24466 {
24467 velocity.Y += 0.05f;
24468 if (velocity.Y < 0f)
24469 {
24470 velocity.Y += 0.01f;
24471 }
24472 }
24473 else
24474 {
24475 velocity.Y -= 0.05f;
24476 if (velocity.Y > 0f)
24477 {
24478 velocity.Y -= 0.01f;
24479 }
24480 }
24481 if (velocity.Y < -3f)
24482 {
24483 velocity.Y = -3f;
24484 }
24485 if (velocity.Y > 3f)
24486 {
24487 velocity.Y = 3f;
24488 }
24489 }
24490 if (wet)
24491 {
24492 if (velocity.Y > 0f)
24493 {
24494 velocity.Y *= 0.95f;
24495 }
24496 velocity.Y -= 0.5f;
24497 if (velocity.Y < -4f)
24498 {
24499 velocity.Y = -4f;
24500 }
24501 TargetClosest();
24502 }
24503 return;
24504 }
24505 if (aiStyle == 18)
24506 {
24507 bool flag16 = false;
24508 if (wet && this.ai[1] == 1f)
24509 {
24510 flag16 = true;
24511 }
24512 else
24513 {
24514 dontTakeDamage = false;
24515 }
24516 if (Main.expertMode && (type == 63 || type == 64 || type == 103 || type == 242))
24517 {
24518 if (wet)
24519 {
24520 if (target >= 0 && Main.player[target].wet && !Main.player[target].dead && Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height))
24521 {
24522 val29 = Main.player[target].Center - base.Center;
24523 if (((Vector2)(ref val29)).Length() < 150f)
24524 {
24525 if (this.ai[1] == 0f)
24526 {
24527 this.ai[2] += 2f;
24528 }
24529 else
24530 {
24531 this.ai[2] -= 0.25f;
24532 }
24533 }
24534 }
24535 if (flag16)
24536 {
24537 dontTakeDamage = true;
24538 this.ai[2] += 1f;
24539 if (this.ai[2] >= 120f)
24540 {
24541 this.ai[1] = 0f;
24542 }
24543 }
24544 else
24545 {
24546 this.ai[2] += 1f;
24547 if (this.ai[2] >= 420f)
24548 {
24549 this.ai[1] = 1f;
24550 this.ai[2] = 0f;
24551 }
24552 }
24553 }
24554 else
24555 {
24556 this.ai[1] = 0f;
24557 this.ai[2] = 0f;
24558 }
24559 }
24560 float num798 = 1f;
24561 if (flag16)
24562 {
24563 num798 += 0.5f;
24564 }
24565 if (type == 63)
24566 {
24567 Lighting.AddLight((int)(position.X + (float)(height / 2)) / 16, (int)(position.Y + (float)(height / 2)) / 16, 0.05f * num798, 0.15f * num798, 0.4f * num798);
24568 }
24569 else if (type == 103)
24570 {
24571 Lighting.AddLight((int)(position.X + (float)(height / 2)) / 16, (int)(position.Y + (float)(height / 2)) / 16, 0.05f * num798, 0.45f * num798, 0.1f * num798);
24572 }
24573 else if (type != 221 && type != 242)
24574 {
24575 Lighting.AddLight((int)(position.X + (float)(height / 2)) / 16, (int)(position.Y + (float)(height / 2)) / 16, 0.35f * num798, 0.05f * num798, 0.2f * num798);
24576 }
24577 if (direction == 0)
24578 {
24579 TargetClosest();
24580 }
24581 if (flag16)
24582 {
24583 return;
24584 }
24585 if (wet)
24586 {
24587 int num799 = (int)base.Center.X / 16;
24588 int num800 = (int)(position.Y + (float)height) / 16;
24589 if (Main.tile[num799, num800].topSlope())
24590 {
24591 if (Main.tile[num799, num800].leftSlope())
24592 {
24593 direction = -1;
24594 velocity.X = Math.Abs(velocity.X) * -1f;
24595 }
24596 else
24597 {
24598 direction = 1;
24599 velocity.X = Math.Abs(velocity.X);
24600 }
24601 }
24602 else if (Main.tile[num799, num800 + 1].topSlope())
24603 {
24604 if (Main.tile[num799, num800 + 1].leftSlope())
24605 {
24606 direction = -1;
24607 velocity.X = Math.Abs(velocity.X) * -1f;
24608 }
24609 else
24610 {
24611 direction = 1;
24612 velocity.X = Math.Abs(velocity.X);
24613 }
24614 }
24615 if (collideX)
24616 {
24617 velocity.X *= -1f;
24618 direction *= -1;
24619 }
24620 if (collideY)
24621 {
24622 if (velocity.Y > 0f)
24623 {
24624 velocity.Y = Math.Abs(velocity.Y) * -1f;
24625 directionY = -1;
24626 this.ai[0] = -1f;
24627 }
24628 else if (velocity.Y < 0f)
24629 {
24630 velocity.Y = Math.Abs(velocity.Y);
24631 directionY = 1;
24632 this.ai[0] = 1f;
24633 }
24634 }
24635 bool flag17 = false;
24636 if (!friendly)
24637 {
24639 if (Main.player[target].wet && !Main.player[target].dead && Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height))
24640 {
24641 flag17 = true;
24642 }
24643 }
24644 if (flag17)
24645 {
24646 localAI[2] = 1f;
24647 rotation = (float)Math.Atan2(velocity.Y, velocity.X) + 1.57f;
24648 velocity *= 0.98f;
24649 float num801 = 0.2f;
24650 if (type == 103)
24651 {
24652 velocity *= 0.98f;
24653 num801 = 0.6f;
24654 }
24655 if (type == 221)
24656 {
24657 velocity *= 0.99f;
24658 num801 = 1f;
24659 }
24660 if (type == 242)
24661 {
24662 velocity *= 0.995f;
24663 num801 = 3f;
24664 }
24665 if (velocity.X > 0f - num801 && velocity.X < num801 && velocity.Y > 0f - num801 && velocity.Y < num801)
24666 {
24667 if (type == 221)
24668 {
24669 localAI[0] = 1f;
24670 }
24671 TargetClosest();
24672 float num802 = 7f;
24673 if (type == 103)
24674 {
24675 num802 = 9f;
24676 }
24677 Vector2 vector235 = default(Vector2);
24678 ((Vector2)(ref vector235))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
24679 float num803 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector235.X;
24680 float num804 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector235.Y;
24681 float num805 = (float)Math.Sqrt(num803 * num803 + num804 * num804);
24682 num805 = num802 / num805;
24683 num803 *= num805;
24684 num804 *= num805;
24685 velocity.X = num803;
24686 velocity.Y = num804;
24687 }
24688 return;
24689 }
24690 localAI[2] = 0f;
24691 velocity.X += (float)direction * 0.02f;
24692 rotation = velocity.X * 0.4f;
24693 if (velocity.X < -1f || velocity.X > 1f)
24694 {
24695 velocity.X *= 0.95f;
24696 }
24697 if (this.ai[0] == -1f)
24698 {
24699 velocity.Y -= 0.01f;
24700 if (velocity.Y < -1f)
24701 {
24702 this.ai[0] = 1f;
24703 }
24704 }
24705 else
24706 {
24707 velocity.Y += 0.01f;
24708 if (velocity.Y > 1f)
24709 {
24710 this.ai[0] = -1f;
24711 }
24712 }
24713 int num806 = (int)(position.X + (float)(width / 2)) / 16;
24714 int num808 = (int)(position.Y + (float)(height / 2)) / 16;
24715 if (Main.tile[num806, num808 - 1] == null)
24716 {
24717 Main.tile[num806, num808 - 1] = default(Tile);
24718 }
24719 if (Main.tile[num806, num808 + 1] == null)
24720 {
24721 Main.tile[num806, num808 + 1] = default(Tile);
24722 }
24723 if (Main.tile[num806, num808 + 2] == null)
24724 {
24725 Main.tile[num806, num808 + 2] = default(Tile);
24726 }
24727 if (Main.tile[num806, num808 - 1].liquid > 128)
24728 {
24729 if (Main.tile[num806, num808 + 1].active())
24730 {
24731 this.ai[0] = -1f;
24732 }
24733 else if (Main.tile[num806, num808 + 2].active())
24734 {
24735 this.ai[0] = -1f;
24736 }
24737 }
24738 else
24739 {
24740 this.ai[0] = 1f;
24741 }
24742 if ((double)velocity.Y > 1.2 || (double)velocity.Y < -1.2)
24743 {
24744 velocity.Y *= 0.99f;
24745 }
24746 return;
24747 }
24748 rotation += velocity.X * 0.1f;
24749 if (velocity.Y == 0f)
24750 {
24751 velocity.X *= 0.98f;
24752 if ((double)velocity.X > -0.01 && (double)velocity.X < 0.01)
24753 {
24754 velocity.X = 0f;
24755 }
24756 }
24757 velocity.Y += 0.2f;
24758 if (velocity.Y > 10f)
24759 {
24760 velocity.Y = 10f;
24761 }
24762 this.ai[0] = 1f;
24763 return;
24764 }
24765 if (aiStyle == 19)
24766 {
24767 TargetClosest();
24768 float num809 = 12f;
24769 Vector2 vector244 = default(Vector2);
24770 ((Vector2)(ref vector244))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
24771 float num810 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector244.X;
24772 float num811 = Main.player[target].position.Y - vector244.Y;
24773 float num812 = (float)Math.Sqrt(num810 * num810 + num811 * num811);
24774 num812 = num809 / num812;
24775 num810 *= num812;
24776 num811 *= num812;
24777 bool flag18 = false;
24778 if (directionY < 0)
24779 {
24780 rotation = (float)(Math.Atan2(num811, num810) + 1.57);
24781 flag18 = ((!((double)rotation < -1.2) && !((double)rotation > 1.2)) ? true : false);
24782 if ((double)rotation < -0.8)
24783 {
24784 rotation = -0.8f;
24785 }
24786 else if ((double)rotation > 0.8)
24787 {
24788 rotation = 0.8f;
24789 }
24790 if (velocity.X != 0f)
24791 {
24792 velocity.X *= 0.9f;
24793 if ((double)velocity.X > -0.1 || (double)velocity.X < 0.1)
24794 {
24795 netUpdate = true;
24796 velocity.X = 0f;
24797 }
24798 }
24799 }
24800 if (this.ai[0] > 0f)
24801 {
24802 if (this.ai[0] == 200f)
24803 {
24805 }
24806 this.ai[0] -= 1f;
24807 }
24808 if (Main.netMode != 1 && flag18 && this.ai[0] == 0f && Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height))
24809 {
24810 this.ai[0] = 200f;
24811 int num813 = 10;
24812 int num814 = 31;
24813 int num815 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector244.X, vector244.Y, num810, num811, num814, num813, 0f, Main.myPlayer);
24814 Main.projectile[num815].ai[0] = 2f;
24815 Main.projectile[num815].timeLeft = 300;
24816 Main.projectile[num815].friendly = false;
24817 NetMessage.SendData(27, -1, -1, null, num815);
24818 netUpdate = true;
24819 }
24820 try
24821 {
24822 int num816 = (int)position.X / 16;
24823 int num817 = (int)(position.X + (float)(width / 2)) / 16;
24824 int num819 = (int)(position.X + (float)width) / 16;
24825 int num820 = (int)(position.Y + (float)height) / 16;
24826 bool flag19 = false;
24827 if (Main.tile[num816, num820] == null)
24828 {
24829 Main.tile[num816, num820] = default(Tile);
24830 }
24831 if (Main.tile[num817, num820] == null)
24832 {
24833 Main.tile[num816, num820] = default(Tile);
24834 }
24835 if (Main.tile[num819, num820] == null)
24836 {
24837 Main.tile[num816, num820] = default(Tile);
24838 }
24839 if ((Main.tile[num816, num820].nactive() && Main.tileSolid[Main.tile[num816, num820].type]) || (Main.tile[num817, num820].nactive() && Main.tileSolid[Main.tile[num817, num820].type]) || (Main.tile[num819, num820].nactive() && Main.tileSolid[Main.tile[num819, num820].type]))
24840 {
24841 flag19 = true;
24842 }
24843 if (flag19)
24844 {
24845 noGravity = true;
24846 noTileCollide = true;
24847 velocity.Y = -0.2f;
24848 return;
24849 }
24850 noGravity = false;
24851 noTileCollide = false;
24852 if (Main.rand.Next(2) == 0)
24853 {
24855 Vector2 val39 = new Vector2(position.X - 4f, position.Y + (float)height - 8f);
24856 int num1671 = width + 8;
24857 float speedY15 = velocity.Y / 2f;
24858 newColor = default(Color);
24859 int num821 = Dust.NewDust(val39, num1671, 24, 32, 0f, speedY15, 0, newColor);
24860 Main.dust[num821].velocity.X *= 0.4f;
24861 Main.dust[num821].velocity.Y *= -1f;
24862 if (Main.rand.Next(2) == 0)
24863 {
24864 Main.dust[num821].noGravity = true;
24865 Dust dust27 = Main.dust[num821];
24866 Dust dust87 = dust27;
24867 dust87.scale += 0.2f;
24868 }
24870 }
24871 return;
24872 }
24873 catch
24874 {
24875 return;
24876 }
24877 }
24878 if (aiStyle == 20)
24879 {
24880 if (this.ai[0] == 0f)
24881 {
24882 if (Main.netMode != 1)
24883 {
24884 TargetClosest();
24885 direction *= -1;
24886 directionY *= -1;
24887 position.Y += height / 2 + 8;
24888 this.ai[1] = position.X + (float)(width / 2);
24889 this.ai[2] = position.Y + (float)(height / 2);
24890 if (direction == 0)
24891 {
24892 direction = 1;
24893 }
24894 if (directionY == 0)
24895 {
24896 directionY = 1;
24897 }
24898 this.ai[3] = 1f + (float)Main.rand.Next(15) * 0.1f;
24899 velocity.Y = (float)(directionY * 6) * this.ai[3];
24900 this.ai[0] += 1f;
24901 netUpdate = true;
24902 }
24903 else
24904 {
24905 this.ai[1] = position.X + (float)(width / 2);
24906 this.ai[2] = position.Y + (float)(height / 2);
24907 }
24908 return;
24909 }
24910 float num822 = 6f * this.ai[3];
24911 float num823 = 0.2f * this.ai[3];
24912 float num824 = num822 / num823 / 2f;
24913 if (this.ai[0] >= 1f && this.ai[0] < (float)(int)num824)
24914 {
24915 velocity.Y = (float)directionY * num822;
24916 this.ai[0] += 1f;
24917 return;
24918 }
24919 if (this.ai[0] >= (float)(int)num824)
24920 {
24921 velocity.Y = 0f;
24922 directionY *= -1;
24923 velocity.X = num822 * (float)direction;
24924 this.ai[0] = -1f;
24925 return;
24926 }
24927 if (directionY > 0)
24928 {
24929 if (velocity.Y >= num822)
24930 {
24931 directionY *= -1;
24932 velocity.Y = num822;
24933 }
24934 }
24935 else if (directionY < 0 && velocity.Y <= 0f - num822)
24936 {
24937 directionY *= -1;
24938 velocity.Y = 0f - num822;
24939 }
24940 if (direction > 0)
24941 {
24942 if (velocity.X >= num822)
24943 {
24944 direction *= -1;
24945 velocity.X = num822;
24946 }
24947 }
24948 else if (direction < 0 && velocity.X <= 0f - num822)
24949 {
24950 direction *= -1;
24951 velocity.X = 0f - num822;
24952 }
24953 velocity.X += num823 * (float)direction;
24954 velocity.Y += num823 * (float)directionY;
24955 }
24956 else if (aiStyle == 21)
24957 {
24958 if (this.ai[0] == 0f)
24959 {
24960 TargetClosest();
24961 directionY = 1;
24962 this.ai[0] = 1f;
24963 }
24964 int num825 = 6;
24965 if (this.ai[1] == 0f)
24966 {
24967 rotation += (float)(direction * directionY) * 0.13f;
24968 if (collideY)
24969 {
24970 this.ai[0] = 2f;
24971 }
24972 if (!collideY && this.ai[0] == 2f)
24973 {
24975 this.ai[1] = 1f;
24976 this.ai[0] = 1f;
24977 }
24978 if (collideX)
24979 {
24981 this.ai[1] = 1f;
24982 }
24983 }
24984 else
24985 {
24986 rotation -= (float)(direction * directionY) * 0.13f;
24987 if (collideX)
24988 {
24989 this.ai[0] = 2f;
24990 }
24991 if (!collideX && this.ai[0] == 2f)
24992 {
24994 this.ai[1] = 0f;
24995 this.ai[0] = 1f;
24996 }
24997 if (collideY)
24998 {
25000 this.ai[1] = 0f;
25001 }
25002 }
25003 velocity.X = num825 * direction;
25004 velocity.Y = num825 * directionY;
25005 float num826 = (float)(270 - Main.mouseTextColor) / 400f;
25006 Lighting.AddLight((int)(position.X + (float)(width / 2)) / 16, (int)(position.Y + (float)(height / 2)) / 16, 0.9f, 0.3f + num826, 0.2f);
25007 }
25008 else if (aiStyle == 22)
25009 {
25010 bool flag20 = false;
25011 bool flag21 = type == 330 && !Main.pumpkinMoon;
25012 if (type == 253 && !Main.eclipse)
25013 {
25014 flag21 = true;
25015 }
25016 if (type == 490 && Main.dayTime)
25017 {
25018 flag21 = true;
25019 }
25020 if (justHit)
25021 {
25022 this.ai[2] = 0f;
25023 }
25024 if (type == 316 && (Main.player[target].dead || Vector2.Distance(base.Center, Main.player[target].Center) > 3000f))
25025 {
25026 TargetClosest();
25027 if (Main.player[target].dead || Vector2.Distance(base.Center, Main.player[target].Center) > 3000f)
25028 {
25029 EncourageDespawn(10);
25030 flag20 = true;
25031 flag21 = true;
25032 }
25033 }
25034 if (flag21)
25035 {
25036 if (velocity.X == 0f)
25037 {
25038 velocity.X = (float)Main.rand.Next(-1, 2) * 1.5f;
25039 netUpdate = true;
25040 }
25041 }
25042 else if (this.ai[2] >= 0f)
25043 {
25044 int num827 = 16;
25045 bool flag22 = false;
25046 bool flag23 = false;
25047 if (position.X > this.ai[0] - (float)num827 && position.X < this.ai[0] + (float)num827)
25048 {
25049 flag22 = true;
25050 }
25051 else if ((velocity.X < 0f && direction > 0) || (velocity.X > 0f && direction < 0))
25052 {
25053 flag22 = true;
25054 }
25055 num827 += 24;
25056 if (position.Y > this.ai[1] - (float)num827 && position.Y < this.ai[1] + (float)num827)
25057 {
25058 flag23 = true;
25059 }
25060 if (flag22 && flag23)
25061 {
25062 this.ai[2] += 1f;
25063 if (this.ai[2] >= 30f && num827 == 16)
25064 {
25065 flag20 = true;
25066 }
25067 if (this.ai[2] >= 60f)
25068 {
25069 this.ai[2] = -200f;
25070 direction *= -1;
25071 velocity.X *= -1f;
25072 collideX = false;
25073 }
25074 }
25075 else
25076 {
25077 this.ai[0] = position.X;
25078 this.ai[1] = position.Y;
25079 this.ai[2] = 0f;
25080 }
25081 TargetClosest();
25082 }
25083 else if (type == 253)
25084 {
25085 TargetClosest();
25086 this.ai[2] += 2f;
25087 }
25088 else
25089 {
25090 if (type == 330)
25091 {
25092 this.ai[2] += 0.1f;
25093 }
25094 else
25095 {
25096 this.ai[2] += 1f;
25097 }
25098 if (Main.player[target].position.X + (float)(Main.player[target].width / 2) > position.X + (float)(width / 2))
25099 {
25100 direction = -1;
25101 }
25102 else
25103 {
25104 direction = 1;
25105 }
25106 }
25107 int num828 = (int)((position.X + (float)(width / 2)) / 16f) + direction * 2;
25108 int num831 = (int)((position.Y + (float)height) / 16f);
25109 bool flag25 = true;
25110 bool flag26 = false;
25111 int num832 = 3;
25112 if (type == 122)
25113 {
25114 if (justHit)
25115 {
25116 this.ai[3] = 0f;
25117 localAI[1] = 0f;
25118 }
25119 if (Main.netMode != 1 && this.ai[3] == 32f && !Main.player[target].npcTypeNoAggro[type])
25120 {
25121 float num833 = 7f;
25122 Vector2 vector245 = default(Vector2);
25123 ((Vector2)(ref vector245))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
25124 float num834 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector245.X;
25125 float num835 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector245.Y;
25126 float num836 = (float)Math.Sqrt(num834 * num834 + num835 * num835);
25127 float num837 = num836;
25128 num836 = num833 / num836;
25129 num834 *= num836;
25130 num835 *= num836;
25131 float num838 = 0.0125f;
25132 Vector2 vector246 = Utils.RotatedByRandom(new Vector2(num834, num835), num838 * ((float)Math.PI * 2f));
25133 num834 = vector246.X;
25134 num835 = vector246.Y;
25135 int num839 = 25;
25136 int num840 = 84;
25137 int num842 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector245.X, vector245.Y, num834, num835, num840, num839, 0f, Main.myPlayer);
25138 }
25139 num832 = 8;
25140 if (this.ai[3] > 0f)
25141 {
25142 this.ai[3] += 1f;
25143 if (this.ai[3] >= 64f)
25144 {
25145 this.ai[3] = 0f;
25146 }
25147 }
25148 if (Main.netMode != 1 && this.ai[3] == 0f)
25149 {
25150 localAI[1] += 1f;
25151 if (localAI[1] > 120f && Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height) && !Main.player[target].npcTypeNoAggro[type])
25152 {
25153 localAI[1] = 0f;
25154 this.ai[3] = 1f;
25155 netUpdate = true;
25156 }
25157 }
25158 }
25159 else if (type == 75)
25160 {
25161 num832 = 4;
25163 if (Main.rand.Next(6) == 0)
25164 {
25165 int num843 = Dust.NewDust(position, width, height, 55, 0f, 0f, 200, this.color);
25166 Dust dust31 = Main.dust[num843];
25167 Dust dust87 = dust31;
25168 dust87.velocity *= 0.3f;
25169 }
25170 if (Main.rand.Next(40) == 0)
25171 {
25172 SoundEngine.PlaySound(27, (int)position.X, (int)position.Y);
25173 }
25175 }
25176 else if (type == 169)
25177 {
25179 Lighting.AddLight((int)((position.X + (float)(width / 2)) / 16f), (int)((position.Y + (float)(height / 2)) / 16f), 0f, 0.6f, 0.75f);
25180 alpha = 30;
25181 if (Main.rand.Next(3) == 0)
25182 {
25183 Vector2 val40 = position;
25184 int num1672 = width;
25185 int num1673 = height;
25186 newColor = default(Color);
25187 int num844 = Dust.NewDust(val40, num1672, num1673, 92, 0f, 0f, 200, newColor);
25188 Dust dust33 = Main.dust[num844];
25189 Dust dust87 = dust33;
25190 dust87.velocity *= 0.3f;
25191 Main.dust[num844].noGravity = true;
25192 }
25194 if (justHit)
25195 {
25196 this.ai[3] = 0f;
25197 localAI[1] = 0f;
25198 }
25199 float num845 = 5f;
25200 Vector2 vector247 = default(Vector2);
25201 ((Vector2)(ref vector247))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
25202 float num846 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector247.X;
25203 float num847 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector247.Y;
25204 float num848 = (float)Math.Sqrt(num846 * num846 + num847 * num847);
25205 float num849 = num848;
25206 num848 = num845 / num848;
25207 num846 *= num848;
25208 num847 *= num848;
25209 if (num846 > 0f)
25210 {
25211 direction = 1;
25212 }
25213 else
25214 {
25215 direction = -1;
25216 }
25218 if (direction < 0)
25219 {
25220 rotation = (float)Math.Atan2(0f - num847, 0f - num846);
25221 }
25222 else
25223 {
25224 rotation = (float)Math.Atan2(num847, num846);
25225 }
25226 if (Main.netMode != 1 && this.ai[3] == 16f)
25227 {
25228 int num850 = 45;
25229 int num851 = 128;
25230 int num853 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector247.X, vector247.Y, num846, num847, num851, num850, 0f, Main.myPlayer);
25231 }
25232 num832 = 10;
25233 if (this.ai[3] > 0f)
25234 {
25235 this.ai[3] += 1f;
25236 if (this.ai[3] >= 64f)
25237 {
25238 this.ai[3] = 0f;
25239 }
25240 }
25241 if (Main.netMode != 1 && this.ai[3] == 0f)
25242 {
25243 localAI[1] += 1f;
25244 if (localAI[1] > 120f && Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height))
25245 {
25246 localAI[1] = 0f;
25247 this.ai[3] = 1f;
25248 netUpdate = true;
25249 }
25250 }
25251 }
25252 else if (type == 268)
25253 {
25254 rotation = velocity.X * 0.1f;
25255 num832 = ((!(Main.player[target].Center.Y < base.Center.Y)) ? 6 : 12);
25256 if (Main.netMode != 1 && !confused)
25257 {
25258 this.ai[3] += 1f;
25259 if (justHit)
25260 {
25261 this.ai[3] = -45f;
25262 localAI[1] = 0f;
25263 }
25264 if (Main.netMode != 1 && this.ai[3] >= (float)(60 + Main.rand.Next(60)))
25265 {
25266 this.ai[3] = 0f;
25267 if (Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height))
25268 {
25269 float num854 = 10f;
25270 Vector2 vector248 = default(Vector2);
25271 ((Vector2)(ref vector248))._002Ector(position.X + (float)width * 0.5f - 4f, position.Y + (float)height * 0.7f);
25272 float num855 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector248.X;
25273 float num856 = Math.Abs(num855) * 0.1f;
25274 float num857 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector248.Y - num856;
25275 num855 += (float)Main.rand.Next(-10, 11);
25276 num857 += (float)Main.rand.Next(-30, 21);
25277 float num858 = (float)Math.Sqrt(num855 * num855 + num857 * num857);
25278 float num859 = num858;
25279 num858 = num854 / num858;
25280 num855 *= num858;
25281 num857 *= num858;
25282 int num860 = 40;
25283 int num861 = 288;
25284 int num862 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector248.X, vector248.Y, num855, num857, num861, num860, 0f, Main.myPlayer);
25285 }
25286 }
25287 }
25288 }
25289 if (type == 490)
25290 {
25291 num832 = 4;
25292 if (target >= 0)
25293 {
25294 val29 = Main.player[target].Center - base.Center;
25295 float num864 = ((Vector2)(ref val29)).Length();
25296 num864 /= 70f;
25297 if (num864 > 8f)
25298 {
25299 num864 = 8f;
25300 }
25301 num832 += (int)num864;
25302 }
25303 }
25304 if (position.Y + (float)height > Main.player[target].position.Y)
25305 {
25306 if (type == 330)
25307 {
25308 flag25 = false;
25309 }
25310 else
25311 {
25312 for (int num865 = num831; num865 < num831 + num832; num865++)
25313 {
25314 if (Main.tile[num828, num865] == null)
25315 {
25316 Main.tile[num828, num865] = default(Tile);
25317 }
25318 if ((Main.tile[num828, num865].nactive() && Main.tileSolid[Main.tile[num828, num865].type]) || Main.tile[num828, num865].liquid > 0)
25319 {
25320 if (num865 <= num831 + 1)
25321 {
25322 flag26 = true;
25323 }
25324 flag25 = false;
25325 break;
25326 }
25327 }
25328 }
25329 }
25330 if (Main.player[target].npcTypeNoAggro[type])
25331 {
25332 bool flag27 = false;
25333 for (int num866 = num831; num866 < num831 + num832 - 2; num866++)
25334 {
25335 if (Main.tile[num828, num866] == null)
25336 {
25337 Main.tile[num828, num866] = default(Tile);
25338 }
25339 if ((Main.tile[num828, num866].nactive() && Main.tileSolid[Main.tile[num828, num866].type]) || Main.tile[num828, num866].liquid > 0)
25340 {
25341 flag27 = true;
25342 break;
25343 }
25344 }
25345 directionY = (!flag27).ToDirectionInt();
25346 }
25347 if (type == 169 || type == 268)
25348 {
25349 for (int num867 = num831 - 3; num867 < num831; num867++)
25350 {
25351 if (Main.tile[num828, num867] == null)
25352 {
25353 Main.tile[num828, num867] = default(Tile);
25354 }
25355 if ((Main.tile[num828, num867].nactive() && Main.tileSolid[Main.tile[num828, num867].type] && !TileID.Sets.Platforms[Main.tile[num828, num867].type]) || Main.tile[num828, num867].liquid > 0)
25356 {
25357 flag26 = false;
25358 flag20 = true;
25359 break;
25360 }
25361 }
25362 }
25363 if (flag20)
25364 {
25365 flag26 = false;
25366 flag25 = true;
25367 if (type == 268)
25368 {
25369 velocity.Y += 2f;
25370 }
25371 }
25372 if (flag25)
25373 {
25374 if (type == 75 || type == 169)
25375 {
25376 velocity.Y += 0.2f;
25377 if (velocity.Y > 2f)
25378 {
25379 velocity.Y = 2f;
25380 }
25381 }
25382 else if (type == 490)
25383 {
25384 velocity.Y += 0.03f;
25385 if ((double)velocity.Y > 0.75)
25386 {
25387 velocity.Y = 0.75f;
25388 }
25389 }
25390 else
25391 {
25392 velocity.Y += 0.1f;
25393 if (type == 316 && flag21)
25394 {
25395 velocity.Y -= 0.05f;
25396 if (velocity.Y > 6f)
25397 {
25398 velocity.Y = 6f;
25399 }
25400 }
25401 else if (velocity.Y > 3f)
25402 {
25403 velocity.Y = 3f;
25404 }
25405 }
25406 }
25407 else
25408 {
25409 if (type == 75 || type == 169)
25410 {
25412 {
25413 velocity.Y -= 0.2f;
25414 }
25415 }
25416 else if (type == 490)
25417 {
25419 {
25420 velocity.Y -= 0.075f;
25421 }
25422 if (velocity.Y < -0.75f)
25423 {
25424 velocity.Y = -0.75f;
25425 }
25426 }
25428 {
25429 velocity.Y -= 0.1f;
25430 }
25431 if (velocity.Y < -4f)
25432 {
25433 velocity.Y = -4f;
25434 }
25435 }
25436 if (type == 75 && wet)
25437 {
25438 velocity.Y -= 0.2f;
25439 if (velocity.Y < -2f)
25440 {
25441 velocity.Y = -2f;
25442 }
25443 }
25444 if (collideX)
25445 {
25446 velocity.X = oldVelocity.X * -0.4f;
25447 if (direction == -1 && velocity.X > 0f && velocity.X < 1f)
25448 {
25449 velocity.X = 1f;
25450 }
25451 if (direction == 1 && velocity.X < 0f && velocity.X > -1f)
25452 {
25453 velocity.X = -1f;
25454 }
25455 }
25456 if (collideY)
25457 {
25458 velocity.Y = oldVelocity.Y * -0.25f;
25459 if (velocity.Y > 0f && velocity.Y < 1f)
25460 {
25461 velocity.Y = 1f;
25462 }
25463 if (velocity.Y < 0f && velocity.Y > -1f)
25464 {
25465 velocity.Y = -1f;
25466 }
25467 }
25468 float num868 = 2f;
25469 if (type == 75)
25470 {
25471 num868 = 3f;
25472 }
25473 if (type == 253)
25474 {
25475 num868 = 4f;
25476 }
25477 if (type == 490)
25478 {
25479 num868 = 1.5f;
25480 }
25481 if (type == 330)
25482 {
25483 alpha = 0;
25484 num868 = 4f;
25485 if (!flag21)
25486 {
25487 TargetClosest();
25488 }
25489 else
25490 {
25491 EncourageDespawn(10);
25492 }
25494 {
25495 velocity.X *= 0.9f;
25496 }
25497 if (direction > 0 && velocity.X < 0f)
25498 {
25499 velocity.X *= 0.9f;
25500 }
25501 }
25502 if (direction == -1 && velocity.X > 0f - num868)
25503 {
25504 velocity.X -= 0.1f;
25505 if (velocity.X > num868)
25506 {
25507 velocity.X -= 0.1f;
25508 }
25509 else if (velocity.X > 0f)
25510 {
25511 velocity.X += 0.05f;
25512 }
25513 if (velocity.X < 0f - num868)
25514 {
25515 velocity.X = 0f - num868;
25516 }
25517 }
25518 else if (direction == 1 && velocity.X < num868)
25519 {
25520 velocity.X += 0.1f;
25521 if (velocity.X < 0f - num868)
25522 {
25523 velocity.X += 0.1f;
25524 }
25525 else if (velocity.X < 0f)
25526 {
25527 velocity.X -= 0.05f;
25528 }
25529 if (velocity.X > num868)
25530 {
25531 velocity.X = num868;
25532 }
25533 }
25534 num868 = ((type != 490) ? 1.5f : 1f);
25535 if (directionY == -1 && velocity.Y > 0f - num868)
25536 {
25537 velocity.Y -= 0.04f;
25538 if (velocity.Y > num868)
25539 {
25540 velocity.Y -= 0.05f;
25541 }
25542 else if (velocity.Y > 0f)
25543 {
25544 velocity.Y += 0.03f;
25545 }
25546 if (velocity.Y < 0f - num868)
25547 {
25548 velocity.Y = 0f - num868;
25549 }
25550 }
25551 else if (directionY == 1 && velocity.Y < num868)
25552 {
25553 velocity.Y += 0.04f;
25554 if (velocity.Y < 0f - num868)
25555 {
25556 velocity.Y += 0.05f;
25557 }
25558 else if (velocity.Y < 0f)
25559 {
25560 velocity.Y -= 0.03f;
25561 }
25562 if (velocity.Y > num868)
25563 {
25564 velocity.Y = num868;
25565 }
25566 }
25567 if (type == 122)
25568 {
25569 Lighting.AddLight((int)position.X / 16, (int)position.Y / 16, 0.4f, 0f, 0.25f);
25570 }
25571 }
25572 else if (aiStyle == 23)
25573 {
25574 noGravity = true;
25575 noTileCollide = true;
25576 if (type == 83)
25577 {
25578 Lighting.AddLight((int)((position.X + (float)(width / 2)) / 16f), (int)((position.Y + (float)(height / 2)) / 16f), 0.2f, 0.05f, 0.3f);
25579 }
25580 else if (type == 179)
25581 {
25582 Lighting.AddLight((int)((position.X + (float)(width / 2)) / 16f), (int)((position.Y + (float)(height / 2)) / 16f), 0.3f, 0.15f, 0.05f);
25583 }
25584 else
25585 {
25586 Lighting.AddLight((int)((position.X + (float)(width / 2)) / 16f), (int)((position.Y + (float)(height / 2)) / 16f), 0.05f, 0.2f, 0.3f);
25587 }
25588 if (target < 0 || target == 255 || Main.player[target].dead)
25589 {
25590 TargetClosest();
25591 }
25592 if (this.ai[0] == 0f)
25593 {
25594 float num869 = 9f;
25595 Vector2 vector249 = default(Vector2);
25596 ((Vector2)(ref vector249))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
25597 float num870 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector249.X;
25598 float num871 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector249.Y;
25599 float num872 = (float)Math.Sqrt(num870 * num870 + num871 * num871);
25600 float num873 = num872;
25601 num872 = num869 / num872;
25602 num870 *= num872;
25603 num871 *= num872;
25604 velocity.X = num870;
25605 velocity.Y = num871;
25606 rotation = (float)Math.Atan2(velocity.Y, velocity.X) + 0.785f;
25607 this.ai[0] = 1f;
25608 this.ai[1] = 0f;
25609 netUpdate = true;
25610 }
25611 else if (this.ai[0] == 1f)
25612 {
25613 if (justHit)
25614 {
25615 this.ai[0] = 2f;
25616 this.ai[1] = 0f;
25617 }
25618 velocity *= 0.99f;
25619 this.ai[1] += 1f;
25620 if (this.ai[1] >= 100f)
25621 {
25622 netUpdate = true;
25623 this.ai[0] = 2f;
25624 this.ai[1] = 0f;
25625 velocity.X = 0f;
25626 velocity.Y = 0f;
25627 }
25628 else
25629 {
25630 rotation = (float)Math.Atan2(velocity.Y, velocity.X) + 0.785f;
25631 }
25632 }
25633 else
25634 {
25635 if (justHit)
25636 {
25637 this.ai[0] = 2f;
25638 this.ai[1] = 0f;
25639 }
25640 velocity *= 0.96f;
25641 this.ai[1] += 1f;
25642 float num875 = this.ai[1] / 120f;
25643 num875 = 0.1f + num875 * 0.4f;
25644 rotation += num875 * (float)direction;
25645 if (this.ai[1] >= 120f)
25646 {
25647 netUpdate = true;
25648 this.ai[0] = 0f;
25649 this.ai[1] = 0f;
25650 }
25651 }
25652 }
25653 else if (aiStyle == 24)
25654 {
25655 noGravity = true;
25656 if (type == 611)
25657 {
25658 if (localAI[0] == 0f)
25659 {
25660 TargetClosest();
25661 this.ai[0] = 1f;
25662 localAI[0] = 1f;
25663 netUpdate = true;
25664 }
25665 else if (this.ai[0] == 1f && Main.cloudAlpha == 0f && !Main.dayTime)
25666 {
25667 for (int num876 = 0; num876 < 200; num876++)
25668 {
25669 if (num876 == whoAmI || !Main.npc[num876].active)
25670 {
25671 continue;
25672 }
25673 if (Main.npc[num876].townNPC)
25674 {
25675 if (Math.Abs(base.Center.X - Main.npc[num876].Center.X) < 96f)
25676 {
25677 float num877 = Main.npc[num876].Center.Y - base.Center.Y;
25678 if (num877 > 32f && num877 < 320f && !Collision.CanHit(this, Main.npc[num876]))
25679 {
25680 this.ai[0] = 2f;
25681 }
25682 }
25683 }
25684 else if (Main.npc[num876].type == type && Main.npc[num876].ai[0] != 1f && Math.Abs(base.Center.X - Main.npc[num876].Center.X) < 320f)
25685 {
25686 this.ai[0] = 1f;
25687 break;
25688 }
25689 }
25690 }
25691 }
25692 if (this.ai[0] == 0f)
25693 {
25694 noGravity = false;
25695 if (type == 611 && (Main.cloudAlpha > 0f || Main.dayTime))
25696 {
25697 this.ai[0] = 1f;
25698 }
25699 TargetClosest();
25700 if (Main.netMode != 1)
25701 {
25702 if (releaseOwner != 255 || velocity.X != 0f || velocity.Y < 0f || (double)velocity.Y > 0.3)
25703 {
25704 this.ai[0] = 1f;
25705 netUpdate = true;
25707 }
25708 else if (type != 611)
25709 {
25710 Rectangle rectangle2 = default(Rectangle);
25711 ((Rectangle)(ref rectangle2))._002Ector((int)Main.player[target].position.X, (int)Main.player[target].position.Y, Main.player[target].width, Main.player[target].height);
25712 val38 = new Rectangle((int)position.X - 100, (int)position.Y - 100, width + 200, height + 200);
25713 if (((Rectangle)(ref val38)).Intersects(rectangle2) || life < lifeMax)
25714 {
25715 this.ai[0] = 1f;
25716 velocity.Y -= 6f;
25717 netUpdate = true;
25719 }
25720 }
25721 }
25722 }
25723 else if (this.ai[0] == 2f)
25724 {
25725 velocity.X *= 0.98f;
25726 if (velocity.Y == 0f)
25727 {
25728 this.ai[0] = 0f;
25729 velocity.X = 0f;
25730 }
25731 velocity.Y += 0.05f;
25732 if (velocity.Y > 2f)
25733 {
25734 velocity.Y = 2f;
25735 }
25736 }
25737 else if (!Main.player[target].dead)
25738 {
25739 float num878 = 3f;
25740 if (type == 671 || type == 672 || type == 673 || type == 674 || type == 675)
25741 {
25742 num878 = 4f;
25743 }
25744 if (collideX)
25745 {
25746 direction *= -1;
25747 velocity.X = oldVelocity.X * -0.5f;
25748 if (direction == -1 && velocity.X > 0f && velocity.X < num878 - 1f)
25749 {
25750 velocity.X = num878 - 1f;
25751 }
25752 if (direction == 1 && velocity.X < 0f && velocity.X > 0f - num878 + 1f)
25753 {
25754 velocity.X = 0f - num878 + 1f;
25755 }
25756 }
25757 if (collideY)
25758 {
25759 velocity.Y = oldVelocity.Y * -0.5f;
25760 if (velocity.Y > 0f && velocity.Y < 1f)
25761 {
25762 velocity.Y = 1f;
25763 }
25764 if (velocity.Y < 0f && velocity.Y > -1f)
25765 {
25766 velocity.Y = -1f;
25767 }
25768 }
25769 if (direction == -1 && velocity.X > 0f - num878)
25770 {
25771 velocity.X -= 0.1f;
25772 if (velocity.X > num878)
25773 {
25774 velocity.X -= 0.1f;
25775 }
25776 else if (velocity.X > 0f)
25777 {
25778 velocity.X -= 0.05f;
25779 }
25780 if (velocity.X < 0f - num878)
25781 {
25782 velocity.X = 0f - num878;
25783 }
25784 }
25785 else if (direction == 1 && velocity.X < num878)
25786 {
25787 velocity.X += 0.1f;
25788 if (velocity.X < 0f - num878)
25789 {
25790 velocity.X += 0.1f;
25791 }
25792 else if (velocity.X < 0f)
25793 {
25794 velocity.X += 0.05f;
25795 }
25796 if (velocity.X > num878)
25797 {
25798 velocity.X = num878;
25799 }
25800 }
25801 int num879 = (int)((position.X + (float)(width / 2)) / 16f) + direction;
25802 int num880 = (int)((position.Y + (float)height) / 16f);
25803 bool flag28 = true;
25804 int num881 = 15;
25805 bool flag29 = false;
25806 for (int num882 = num880; num882 < num880 + num881; num882++)
25807 {
25808 if (!WorldGen.InWorld(num879, num882))
25809 {
25810 continue;
25811 }
25812 if (Main.tile[num879, num882] == null)
25813 {
25814 Main.tile[num879, num882] = default(Tile);
25815 }
25816 if ((Main.tile[num879, num882].nactive() && Main.tileSolid[Main.tile[num879, num882].type]) || Main.tile[num879, num882].liquid > 0)
25817 {
25818 if (num882 < num880 + 5)
25819 {
25820 flag29 = true;
25821 }
25822 flag28 = false;
25823 break;
25824 }
25825 }
25826 if (flag28)
25827 {
25828 velocity.Y += 0.05f;
25829 }
25830 else
25831 {
25832 velocity.Y -= 0.1f;
25833 }
25834 if (flag29)
25835 {
25836 velocity.Y -= 0.2f;
25837 }
25838 if (velocity.Y > 2f)
25839 {
25840 velocity.Y = 2f;
25841 }
25842 if (velocity.Y < -4f)
25843 {
25844 velocity.Y = -4f;
25845 }
25846 }
25847 if (wet)
25848 {
25849 this.ai[1] = 0f;
25850 if (velocity.Y > 0f)
25851 {
25852 velocity.Y *= 0.95f;
25853 }
25854 velocity.Y -= 0.5f;
25855 if (velocity.Y < -4f)
25856 {
25857 velocity.Y = -4f;
25858 }
25859 TargetClosest();
25860 }
25861 }
25862 else if (aiStyle == 25)
25863 {
25864 bool flag30 = type == 341 && !Main.snowMoon;
25865 if (this.ai[3] == 0f)
25866 {
25867 position.X += 8f;
25868 if (position.Y / 16f > (float)Main.UnderworldLayer)
25869 {
25870 this.ai[3] = 3f;
25871 }
25872 else if ((double)(position.Y / 16f) > Main.worldSurface)
25873 {
25874 TargetClosest();
25875 this.ai[3] = 2f;
25876 }
25877 else
25878 {
25879 this.ai[3] = 1f;
25880 }
25881 }
25882 if (type == 341 || type == 629)
25883 {
25884 this.ai[3] = 1f;
25885 }
25886 if (this.ai[0] == 0f)
25887 {
25888 if (!flag30)
25889 {
25890 TargetClosest();
25891 }
25892 if (Main.netMode == 1)
25893 {
25894 return;
25895 }
25896 if (velocity.X != 0f || velocity.Y < 0f || (double)velocity.Y > 0.3)
25897 {
25898 this.ai[0] = 1f;
25899 netUpdate = true;
25900 return;
25901 }
25902 Rectangle rectangle3 = default(Rectangle);
25903 ((Rectangle)(ref rectangle3))._002Ector((int)Main.player[target].position.X, (int)Main.player[target].position.Y, Main.player[target].width, Main.player[target].height);
25904 val38 = new Rectangle((int)position.X - 100, (int)position.Y - 100, width + 200, height + 200);
25905 if (((Rectangle)(ref val38)).Intersects(rectangle3) || life < lifeMax)
25906 {
25907 this.ai[0] = 1f;
25908 netUpdate = true;
25909 }
25910 }
25911 else if (velocity.Y == 0f)
25912 {
25913 this.ai[2] += 1f;
25914 int num883 = 20;
25915 if (this.ai[1] == 0f)
25916 {
25917 num883 = 12;
25918 }
25919 if (this.ai[2] < (float)num883)
25920 {
25921 velocity.X *= 0.9f;
25922 return;
25923 }
25924 this.ai[2] = 0f;
25925 if (!flag30)
25926 {
25927 TargetClosest();
25928 }
25929 if (direction == 0)
25930 {
25931 direction = -1;
25932 }
25934 this.ai[1] += 1f;
25935 if (this.ai[1] == 2f)
25936 {
25937 velocity.X = (float)direction * 2.5f;
25938 velocity.Y = -8f;
25939 this.ai[1] = 0f;
25940 }
25941 else
25942 {
25943 velocity.X = (float)direction * 3.5f;
25944 velocity.Y = -4f;
25945 }
25946 netUpdate = true;
25947 }
25948 else if (direction == 1 && velocity.X < 1f)
25949 {
25950 velocity.X += 0.1f;
25951 }
25952 else if (direction == -1 && velocity.X > -1f)
25953 {
25954 velocity.X -= 0.1f;
25955 }
25956 }
25957 else if (aiStyle == 26)
25958 {
25960 }
25961 else if (aiStyle == 27)
25962 {
25963 if (position.X < 160f || position.X > (float)((Main.maxTilesX - 10) * 16))
25964 {
25965 active = false;
25966 }
25967 if (localAI[0] == 0f)
25968 {
25969 localAI[0] = 1f;
25970 Main.wofDrawAreaBottom = -1;
25971 Main.wofDrawAreaTop = -1;
25972 }
25973 if (Main.getGoodWorld && Main.netMode != 1 && Main.rand.Next(180) == 0 && CountNPCS(24) < 4)
25974 {
25975 int num884 = 1;
25976 for (int num886 = 0; num886 < num884; num886++)
25977 {
25978 int num887 = 1000;
25979 for (int num888 = 0; num888 < num887; num888++)
25980 {
25981 int num889 = (int)(base.Center.X / 16f);
25982 int num890 = (int)(base.Center.Y / 16f);
25983 if (target >= 0)
25984 {
25985 num889 = (int)(Main.player[target].Center.X / 16f);
25986 num890 = (int)(Main.player[target].Center.Y / 16f);
25987 }
25988 num889 += Main.rand.Next(-50, 51);
25989 for (num890 += Main.rand.Next(-50, 51); num890 < Main.maxTilesY - 10 && !WorldGen.SolidTile(num889, num890); num890++)
25990 {
25991 }
25992 num890--;
25993 if (!WorldGen.SolidTile(num889, num890))
25994 {
25995 int num891 = NewNPC(GetSpawnSourceForNaturalSpawn(), num889 * 16 + 8, num890 * 16, 24);
25996 if (Main.netMode == 2 && num891 < 200)
25997 {
25998 NetMessage.SendData(23, -1, -1, null, num891);
25999 }
26000 break;
26001 }
26002 }
26003 }
26004 }
26005 this.ai[1] += 1f;
26006 if (this.ai[2] == 0f)
26007 {
26008 if ((double)life < (double)lifeMax * 0.5)
26009 {
26010 this.ai[1] += 1f;
26011 }
26012 if ((double)life < (double)lifeMax * 0.2)
26013 {
26014 this.ai[1] += 1f;
26015 }
26016 if (this.ai[1] > 2700f)
26017 {
26018 this.ai[2] = 1f;
26019 }
26020 }
26021 int num892 = 60;
26022 if (this.ai[2] > 0f && this.ai[1] > (float)num892)
26023 {
26024 int num893 = 3;
26025 if ((double)life < (double)lifeMax * 0.3)
26026 {
26027 num893++;
26028 }
26029 this.ai[2] += 1f;
26030 this.ai[1] = 0f;
26031 if (this.ai[2] > (float)num893)
26032 {
26033 this.ai[2] = 0f;
26034 }
26035 if (Main.netMode != 1 && CountNPCS(117) < 10)
26036 {
26037 int num894 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)(position.X + (float)(width / 2)), (int)(position.Y + (float)(height / 2) + 20f), 117, 1);
26038 Main.npc[num894].velocity.X = direction * 8;
26039 }
26040 }
26041 localAI[3] += 1f;
26042 if (localAI[3] >= (float)(600 + Main.rand.Next(1000)))
26043 {
26044 localAI[3] = -Main.rand.Next(200);
26045 SoundEngine.PlaySound(4, (int)position.X, (int)position.Y, 10);
26046 }
26047 int num895 = Main.UnderworldLayer + 10;
26048 int num897 = num895 + 70;
26049 Main.wofNPCIndex = whoAmI;
26050 int num898 = (int)(position.X / 16f);
26051 int num899 = (int)((position.X + (float)width) / 16f);
26052 int num900 = (int)((position.Y + (float)(height / 2)) / 16f);
26053 int num901 = 0;
26054 int num902 = num900 + 7;
26055 while (num901 < 15 && num902 > Main.UnderworldLayer)
26056 {
26057 num902++;
26058 if (num902 > Main.maxTilesY - 10)
26059 {
26060 num902 = Main.maxTilesY - 10;
26061 break;
26062 }
26063 if (num902 < num895)
26064 {
26065 continue;
26066 }
26067 for (int num903 = num898; num903 <= num899; num903++)
26068 {
26069 try
26070 {
26071 if (WorldGen.InWorld(num903, num902, 2) && (WorldGen.SolidTile(num903, num902) || Main.tile[num903, num902].liquid > 0))
26072 {
26073 num901++;
26074 }
26075 }
26076 catch
26077 {
26078 num901 += 15;
26079 }
26080 }
26081 }
26082 num902 += 4;
26083 if (Main.wofDrawAreaBottom == -1)
26084 {
26085 Main.wofDrawAreaBottom = num902 * 16;
26086 }
26087 else if (Main.wofDrawAreaBottom > num902 * 16)
26088 {
26089 Main.wofDrawAreaBottom--;
26090 if (Main.wofDrawAreaBottom < num902 * 16)
26091 {
26092 Main.wofDrawAreaBottom = num902 * 16;
26093 }
26094 }
26095 else if (Main.wofDrawAreaBottom < num902 * 16)
26096 {
26097 Main.wofDrawAreaBottom++;
26098 if (Main.wofDrawAreaBottom > num902 * 16)
26099 {
26100 Main.wofDrawAreaBottom = num902 * 16;
26101 }
26102 }
26103 num901 = 0;
26104 num902 = num900 - 7;
26105 while (num901 < 15 && num902 < Main.maxTilesY - 10)
26106 {
26107 num902--;
26108 if (num902 <= 10)
26109 {
26110 num902 = 10;
26111 break;
26112 }
26113 if (num902 > num897)
26114 {
26115 continue;
26116 }
26117 if (num902 < num895)
26118 {
26119 num902 = num895;
26120 break;
26121 }
26122 for (int num904 = num898; num904 <= num899; num904++)
26123 {
26124 try
26125 {
26126 if (WorldGen.InWorld(num904, num902, 2) && (WorldGen.SolidTile(num904, num902) || Main.tile[num904, num902].liquid > 0))
26127 {
26128 num901++;
26129 }
26130 }
26131 catch
26132 {
26133 num901 += 15;
26134 }
26135 }
26136 }
26137 num902 -= 4;
26138 if (Main.wofDrawAreaTop == -1)
26139 {
26140 Main.wofDrawAreaTop = num902 * 16;
26141 }
26142 else if (Main.wofDrawAreaTop > num902 * 16)
26143 {
26144 Main.wofDrawAreaTop--;
26145 if (Main.wofDrawAreaTop < num902 * 16)
26146 {
26147 Main.wofDrawAreaTop = num902 * 16;
26148 }
26149 }
26150 else if (Main.wofDrawAreaTop < num902 * 16)
26151 {
26152 Main.wofDrawAreaTop++;
26153 if (Main.wofDrawAreaTop > num902 * 16)
26154 {
26155 Main.wofDrawAreaTop = num902 * 16;
26156 }
26157 }
26158 Main.wofDrawAreaTop = (int)MathHelper.Clamp((float)Main.wofDrawAreaTop, (float)num895 * 16f, (float)num897 * 16f);
26159 Main.wofDrawAreaBottom = (int)MathHelper.Clamp((float)Main.wofDrawAreaBottom, (float)num895 * 16f, (float)num897 * 16f);
26160 if (Main.wofDrawAreaTop > Main.wofDrawAreaBottom - 160)
26161 {
26162 Main.wofDrawAreaTop = Main.wofDrawAreaBottom - 160;
26163 }
26164 else if (Main.wofDrawAreaBottom < Main.wofDrawAreaTop + 160)
26165 {
26166 Main.wofDrawAreaBottom = Main.wofDrawAreaTop + 160;
26167 }
26168 float num905 = (Main.wofDrawAreaBottom + Main.wofDrawAreaTop) / 2 - height / 2;
26169 if (position.Y > num905 + 1f)
26170 {
26171 velocity.Y = -1f;
26172 }
26173 else if (position.Y < num905 - 1f)
26174 {
26175 velocity.Y = 1f;
26176 }
26177 velocity.Y = 0f;
26178 position.Y = num905;
26179 float num906 = 1.5f;
26180 if ((double)life < (double)lifeMax * 0.75)
26181 {
26182 num906 += 0.25f;
26183 }
26184 if ((double)life < (double)lifeMax * 0.5)
26185 {
26186 num906 += 0.4f;
26187 }
26188 if ((double)life < (double)lifeMax * 0.25)
26189 {
26190 num906 += 0.5f;
26191 }
26192 if ((double)life < (double)lifeMax * 0.1)
26193 {
26194 num906 += 0.6f;
26195 }
26196 if ((double)life < (double)lifeMax * 0.66 && Main.expertMode)
26197 {
26198 num906 += 0.3f;
26199 }
26200 if ((double)life < (double)lifeMax * 0.33 && Main.expertMode)
26201 {
26202 num906 += 0.3f;
26203 }
26204 if ((double)life < (double)lifeMax * 0.05 && Main.expertMode)
26205 {
26206 num906 += 0.6f;
26207 }
26208 if ((double)life < (double)lifeMax * 0.035 && Main.expertMode)
26209 {
26210 num906 += 0.6f;
26211 }
26212 if ((double)life < (double)lifeMax * 0.025 && Main.expertMode)
26213 {
26214 num906 += 0.6f;
26215 }
26216 if (Main.expertMode)
26217 {
26218 num906 *= 1.35f;
26219 num906 += 0.35f;
26220 }
26221 if (Main.getGoodWorld)
26222 {
26223 num906 *= 1.1f;
26224 num906 += 0.2f;
26225 }
26226 if (velocity.X == 0f)
26227 {
26228 TargetClosest();
26229 if (Main.player[target].dead)
26230 {
26231 float num908 = float.PositiveInfinity;
26232 int num909 = 0;
26233 for (int num910 = 0; num910 < 255; num910++)
26234 {
26235 Player player = Main.player[target];
26236 if (player.active)
26237 {
26238 float num911 = Distance(player.Center);
26239 if (num908 > num911)
26240 {
26241 num908 = num911;
26242 num909 = ((base.Center.X < player.Center.X) ? 1 : (-1));
26243 }
26244 }
26245 }
26246 direction = num909;
26247 }
26248 velocity.X = direction;
26249 }
26250 if (velocity.X < 0f)
26251 {
26252 velocity.X = 0f - num906;
26253 direction = -1;
26254 }
26255 else
26256 {
26257 velocity.X = num906;
26258 direction = 1;
26259 }
26260 if (Main.player[target].dead || !Main.player[target].gross)
26261 {
26263 }
26264 if (Main.player[target].dead)
26265 {
26266 localAI[1] += 1f / 180f;
26267 if (localAI[1] >= 1f)
26268 {
26269 SoundEngine.PlaySound(4, (int)position.X, (int)position.Y, 10);
26270 life = 0;
26271 active = false;
26272 if (Main.netMode != 1)
26273 {
26274 NetMessage.SendData(28, -1, -1, null, whoAmI, -1f);
26275 }
26276 return;
26277 }
26278 }
26279 else
26280 {
26281 localAI[1] = MathHelper.Clamp(localAI[1] - 1f / 30f, 0f, 1f);
26282 }
26284 Vector2 vector250 = default(Vector2);
26285 ((Vector2)(ref vector250))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
26286 float num912 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector250.X;
26287 float num913 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector250.Y;
26288 float num914 = (float)Math.Sqrt(num912 * num912 + num913 * num913);
26289 float num915 = num914;
26290 num912 *= num914;
26291 num913 *= num914;
26292 if (direction > 0)
26293 {
26294 if (Main.player[target].position.X + (float)(Main.player[target].width / 2) > position.X + (float)(width / 2))
26295 {
26296 rotation = (float)Math.Atan2(0f - num913, 0f - num912) + 3.14f;
26297 }
26298 else
26299 {
26300 rotation = 0f;
26301 }
26302 }
26303 else if (Main.player[target].position.X + (float)(Main.player[target].width / 2) < position.X + (float)(width / 2))
26304 {
26305 rotation = (float)Math.Atan2(num913, num912) + 3.14f;
26306 }
26307 else
26308 {
26309 rotation = 0f;
26310 }
26311 if (Main.expertMode && Main.netMode != 1)
26312 {
26313 int num916 = (int)(1f + (float)life / (float)lifeMax * 10f);
26314 num916 *= num916;
26315 if (num916 < 400)
26316 {
26317 num916 = (num916 * 19 + 400) / 20;
26318 }
26319 if (num916 < 60)
26320 {
26321 num916 = (num916 * 3 + 60) / 4;
26322 }
26323 if (num916 < 20)
26324 {
26325 num916 = (num916 + 20) / 2;
26326 }
26327 num916 = (int)((double)num916 * 0.7);
26328 if (Main.rand.Next(num916) == 0)
26329 {
26330 int num917 = 0;
26331 float[] array = new float[10];
26332 for (int num919 = 0; num919 < 200; num919++)
26333 {
26334 if (num917 < 10 && Main.npc[num919].active && Main.npc[num919].type == 115)
26335 {
26336 array[num917] = Main.npc[num919].ai[0];
26337 num917++;
26338 }
26339 }
26340 int maxValue = 1 + num917 * 2;
26341 if (num917 < 10 && Main.rand.Next(maxValue) <= 1)
26342 {
26343 int num920 = -1;
26344 for (int num921 = 0; num921 < 1000; num921++)
26345 {
26346 int num922 = Main.rand.Next(10);
26347 float num923 = (float)num922 * 0.1f - 0.05f;
26348 bool flag31 = true;
26349 for (int num924 = 0; num924 < num917; num924++)
26350 {
26351 if (num923 == array[num924])
26352 {
26353 flag31 = false;
26354 break;
26355 }
26356 }
26357 if (flag31)
26358 {
26359 num920 = num922;
26360 break;
26361 }
26362 }
26363 if (num920 >= 0)
26364 {
26365 NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)position.X, (int)num905, 115, whoAmI, (float)num920 * 0.1f - 0.05f);
26366 }
26367 }
26368 }
26369 }
26370 if (Main.netMode != 1 && localAI[0] == 1f)
26371 {
26372 localAI[0] = 2f;
26373 float num925 = (base.Center.Y + (float)Main.wofDrawAreaTop) / 2f;
26374 int num926 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)position.X, (int)num925, 114, whoAmI, 1f);
26375 float num927 = (base.Center.Y + (float)Main.wofDrawAreaBottom) / 2f;
26377 float num928 = (base.Center.Y + (float)Main.wofDrawAreaBottom) / 2f;
26378 for (int num930 = 0; num930 < 11; num930++)
26379 {
26380 num926 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)position.X, (int)num928, 115, whoAmI, (float)num930 * 0.1f - 0.05f);
26381 }
26382 }
26383 }
26384 else if (aiStyle == 28)
26385 {
26386 if (Main.wofNPCIndex < 0)
26387 {
26388 active = false;
26389 return;
26390 }
26391 realLife = Main.wofNPCIndex;
26392 if (Main.npc[Main.wofNPCIndex].life > 0)
26393 {
26394 life = Main.npc[Main.wofNPCIndex].life;
26395 }
26396 TargetClosest();
26397 position.X = Main.npc[Main.wofNPCIndex].position.X;
26398 direction = Main.npc[Main.wofNPCIndex].direction;
26400 float num931 = (Main.wofDrawAreaBottom + Main.wofDrawAreaTop) / 2;
26401 num931 = ((!(this.ai[0] > 0f)) ? ((num931 + (float)Main.wofDrawAreaBottom) / 2f) : ((num931 + (float)Main.wofDrawAreaTop) / 2f));
26402 num931 -= (float)(height / 2);
26403 if (position.Y > num931 + 1f)
26404 {
26405 velocity.Y = -1f;
26406 }
26407 else if (position.Y < num931 - 1f)
26408 {
26409 velocity.Y = 1f;
26410 }
26411 else
26412 {
26413 velocity.Y = 0f;
26414 position.Y = num931;
26415 }
26416 if (velocity.Y > 5f)
26417 {
26418 velocity.Y = 5f;
26419 }
26420 if (velocity.Y < -5f)
26421 {
26422 velocity.Y = -5f;
26423 }
26424 Vector2 vector251 = default(Vector2);
26425 ((Vector2)(ref vector251))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
26426 float num932 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector251.X;
26427 float num933 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector251.Y;
26428 float num934 = (float)Math.Sqrt(num932 * num932 + num933 * num933);
26429 float num935 = num934;
26430 num932 *= num934;
26431 num933 *= num934;
26432 bool flag32 = true;
26433 if (direction > 0)
26434 {
26435 if (Main.player[target].position.X + (float)(Main.player[target].width / 2) > position.X + (float)(width / 2))
26436 {
26437 rotation = (float)Math.Atan2(0f - num933, 0f - num932) + 3.14f;
26438 }
26439 else
26440 {
26441 rotation = 0f;
26442 flag32 = false;
26443 }
26444 }
26445 else if (Main.player[target].position.X + (float)(Main.player[target].width / 2) < position.X + (float)(width / 2))
26446 {
26447 rotation = (float)Math.Atan2(num933, num932) + 3.14f;
26448 }
26449 else
26450 {
26451 rotation = 0f;
26452 flag32 = false;
26453 }
26454 if (Main.netMode == 1)
26455 {
26456 return;
26457 }
26458 int num936 = 4;
26459 localAI[1] += 1f;
26460 if ((double)Main.npc[Main.wofNPCIndex].life < (double)Main.npc[Main.wofNPCIndex].lifeMax * 0.75)
26461 {
26462 localAI[1] += 1f;
26463 num936++;
26464 }
26465 if ((double)Main.npc[Main.wofNPCIndex].life < (double)Main.npc[Main.wofNPCIndex].lifeMax * 0.5)
26466 {
26467 localAI[1] += 1f;
26468 num936++;
26469 }
26470 if ((double)Main.npc[Main.wofNPCIndex].life < (double)Main.npc[Main.wofNPCIndex].lifeMax * 0.25)
26471 {
26472 localAI[1] += 1f;
26473 num936 += 2;
26474 }
26475 if ((double)Main.npc[Main.wofNPCIndex].life < (double)Main.npc[Main.wofNPCIndex].lifeMax * 0.1)
26476 {
26477 localAI[1] += 2f;
26478 num936 += 3;
26479 }
26480 if (Main.expertMode)
26481 {
26482 localAI[1] += 0.5f;
26483 num936++;
26484 if ((double)Main.npc[Main.wofNPCIndex].life < (double)Main.npc[Main.wofNPCIndex].lifeMax * 0.1)
26485 {
26486 localAI[1] += 2f;
26487 num936 += 3;
26488 }
26489 }
26490 if (localAI[2] == 0f)
26491 {
26492 if (localAI[1] > 600f)
26493 {
26494 localAI[2] = 1f;
26495 localAI[1] = 0f;
26496 }
26497 }
26498 else
26499 {
26500 if (!(localAI[1] > 45f) || !Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height))
26501 {
26502 return;
26503 }
26504 localAI[1] = 0f;
26505 localAI[2] += 1f;
26506 if (localAI[2] >= (float)num936)
26507 {
26508 localAI[2] = 0f;
26509 }
26510 if (flag32)
26511 {
26512 float num937 = 9f;
26513 int num938 = 11;
26514 int num939 = 83;
26515 if ((double)Main.npc[Main.wofNPCIndex].life < (double)Main.npc[Main.wofNPCIndex].lifeMax * 0.5)
26516 {
26517 num938++;
26518 num937 += 1f;
26519 }
26520 if ((double)Main.npc[Main.wofNPCIndex].life < (double)Main.npc[Main.wofNPCIndex].lifeMax * 0.25)
26521 {
26522 num938++;
26523 num937 += 1f;
26524 }
26525 if ((double)Main.npc[Main.wofNPCIndex].life < (double)Main.npc[Main.wofNPCIndex].lifeMax * 0.1)
26526 {
26527 num938 += 2;
26528 num937 += 2f;
26529 }
26530 ((Vector2)(ref vector251))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
26531 num932 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector251.X;
26532 num933 = Main.player[target].position.Y + (float)Main.player[target].height * 0.5f - vector251.Y;
26533 num934 = (float)Math.Sqrt(num932 * num932 + num933 * num933);
26534 num934 = num937 / num934;
26535 num932 *= num934;
26536 num933 *= num934;
26537 vector251.X += num932;
26538 vector251.Y += num933;
26539 int num942 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector251.X, vector251.Y, num932, num933, num939, num938, 0f, Main.myPlayer);
26540 }
26541 }
26542 }
26543 else if (aiStyle == 29)
26544 {
26545 if (justHit)
26546 {
26547 this.ai[1] = 10f;
26548 }
26549 if (Main.wofNPCIndex < 0)
26550 {
26551 active = false;
26552 return;
26553 }
26554 TargetClosest();
26555 float num943 = 0.1f;
26556 float num944 = 300f;
26557 damage = defDamage;
26558 int num945 = 0;
26559 if ((double)Main.npc[Main.wofNPCIndex].life < (double)Main.npc[Main.wofNPCIndex].lifeMax * 0.5)
26560 {
26561 num945 = 60;
26562 defense = 30;
26563 if (!Main.expertMode)
26564 {
26565 num944 = 700f;
26566 }
26567 else
26568 {
26569 num943 += 0.066f;
26570 }
26571 }
26572 else if ((double)Main.npc[Main.wofNPCIndex].life < (double)Main.npc[Main.wofNPCIndex].lifeMax * 0.75)
26573 {
26574 num945 = 45;
26575 defense = 20;
26576 if (!Main.expertMode)
26577 {
26578 num944 = 500f;
26579 }
26580 else
26581 {
26582 num943 += 0.033f;
26583 }
26584 }
26585 if (num945 > 0)
26586 {
26588 }
26589 if (Main.expertMode)
26590 {
26592 if (whoAmI % 4 == 0)
26593 {
26594 num944 *= 1.75f;
26595 }
26596 if (whoAmI % 4 == 1)
26597 {
26598 num944 *= 1.5f;
26599 }
26600 if (whoAmI % 4 == 2)
26601 {
26602 num944 *= 1.25f;
26603 }
26604 if (whoAmI % 3 == 0)
26605 {
26606 num944 *= 1.5f;
26607 }
26608 if (whoAmI % 3 == 1)
26609 {
26610 num944 *= 1.25f;
26611 }
26612 num944 *= 0.75f;
26613 }
26614 float num946 = Main.npc[Main.wofNPCIndex].position.X + (float)(Main.npc[Main.wofNPCIndex].width / 2);
26615 float y3 = Main.npc[Main.wofNPCIndex].position.Y;
26616 float num947 = Main.wofDrawAreaBottom - Main.wofDrawAreaTop;
26617 y3 = (float)Main.wofDrawAreaTop + num947 * this.ai[0];
26618 this.ai[2] += 1f;
26619 if (this.ai[2] > 100f)
26620 {
26621 num944 = (int)(num944 * 1.3f);
26622 if (this.ai[2] > 200f)
26623 {
26624 this.ai[2] = 0f;
26625 }
26626 }
26627 Vector2 vector253 = default(Vector2);
26628 ((Vector2)(ref vector253))._002Ector(num946, y3);
26629 float num948 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - (float)(width / 2) - vector253.X;
26630 float num949 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - (float)(height / 2) - vector253.Y;
26631 float num950 = (float)Math.Sqrt(num948 * num948 + num949 * num949);
26632 if (this.ai[1] == 0f)
26633 {
26634 if (num950 > num944)
26635 {
26636 num950 = num944 / num950;
26637 num948 *= num950;
26638 num949 *= num950;
26639 }
26640 if (position.X < num946 + num948)
26641 {
26642 velocity.X += num943;
26643 if (velocity.X < 0f && num948 > 0f)
26644 {
26645 velocity.X += num943 * 2.5f;
26646 }
26647 }
26648 else if (position.X > num946 + num948)
26649 {
26650 velocity.X -= num943;
26651 if (velocity.X > 0f && num948 < 0f)
26652 {
26653 velocity.X -= num943 * 2.5f;
26654 }
26655 }
26656 if (position.Y < y3 + num949)
26657 {
26658 velocity.Y += num943;
26659 if (velocity.Y < 0f && num949 > 0f)
26660 {
26661 velocity.Y += num943 * 2.5f;
26662 }
26663 }
26664 else if (position.Y > y3 + num949)
26665 {
26666 velocity.Y -= num943;
26667 if (velocity.Y > 0f && num949 < 0f)
26668 {
26669 velocity.Y -= num943 * 2.5f;
26670 }
26671 }
26672 float num951 = 4f;
26673 if (Main.expertMode && Main.wofNPCIndex >= 0)
26674 {
26675 float num953 = 1.5f;
26676 float num954 = Main.npc[Main.wofNPCIndex].life / Main.npc[Main.wofNPCIndex].lifeMax;
26677 if ((double)num954 < 0.75)
26678 {
26679 num953 += 0.7f;
26680 }
26681 if ((double)num954 < 0.5)
26682 {
26683 num953 += 0.7f;
26684 }
26685 if ((double)num954 < 0.25)
26686 {
26687 num953 += 0.9f;
26688 }
26689 if ((double)num954 < 0.1)
26690 {
26691 num953 += 0.9f;
26692 }
26693 num953 *= 1.25f;
26694 num953 += 0.3f;
26695 num951 += num953 * 0.35f;
26696 if (base.Center.X < Main.npc[Main.wofNPCIndex].Center.X && Main.npc[Main.wofNPCIndex].velocity.X > 0f)
26697 {
26698 num951 += 6f;
26699 }
26700 if (base.Center.X > Main.npc[Main.wofNPCIndex].Center.X && Main.npc[Main.wofNPCIndex].velocity.X < 0f)
26701 {
26702 num951 += 6f;
26703 }
26704 }
26705 if (velocity.X > num951)
26706 {
26707 velocity.X = num951;
26708 }
26709 if (velocity.X < 0f - num951)
26710 {
26711 velocity.X = 0f - num951;
26712 }
26713 if (velocity.Y > num951)
26714 {
26715 velocity.Y = num951;
26716 }
26717 if (velocity.Y < 0f - num951)
26718 {
26719 velocity.Y = 0f - num951;
26720 }
26721 }
26722 else if (this.ai[1] > 0f)
26723 {
26724 this.ai[1] -= 1f;
26725 }
26726 else
26727 {
26728 this.ai[1] = 0f;
26729 }
26730 if (num948 > 0f)
26731 {
26732 spriteDirection = 1;
26733 rotation = (float)Math.Atan2(num949, num948);
26734 }
26735 if (num948 < 0f)
26736 {
26737 spriteDirection = -1;
26738 rotation = (float)Math.Atan2(num949, num948) + 3.14f;
26739 }
26740 Lighting.AddLight((int)(position.X + (float)(width / 2)) / 16, (int)(position.Y + (float)(height / 2)) / 16, 0.3f, 0.2f, 0.1f);
26741 }
26742 else if (aiStyle == 30)
26743 {
26744 if (target < 0 || target == 255 || Main.player[target].dead || !Main.player[target].active)
26745 {
26746 TargetClosest();
26747 }
26748 bool dead2 = Main.player[target].dead;
26749 float num955 = position.X + (float)(width / 2) - Main.player[target].position.X - (float)(Main.player[target].width / 2);
26750 float num956 = position.Y + (float)height - 59f - Main.player[target].position.Y - (float)(Main.player[target].height / 2);
26751 float num957 = (float)Math.Atan2(num956, num955) + 1.57f;
26752 if (num957 < 0f)
26753 {
26754 num957 += 6.283f;
26755 }
26756 else if ((double)num957 > 6.283)
26757 {
26758 num957 -= 6.283f;
26759 }
26760 float num958 = 0.1f;
26761 if (rotation < num957)
26762 {
26763 if ((double)(num957 - rotation) > 3.1415)
26764 {
26765 rotation -= num958;
26766 }
26767 else
26768 {
26769 rotation += num958;
26770 }
26771 }
26772 else if (rotation > num957)
26773 {
26774 if ((double)(rotation - num957) > 3.1415)
26775 {
26776 rotation += num958;
26777 }
26778 else
26779 {
26780 rotation -= num958;
26781 }
26782 }
26783 if (rotation > num957 - num958 && rotation < num957 + num958)
26784 {
26785 rotation = num957;
26786 }
26787 if (rotation < 0f)
26788 {
26789 rotation += 6.283f;
26790 }
26791 else if ((double)rotation > 6.283)
26792 {
26793 rotation -= 6.283f;
26794 }
26795 if (rotation > num957 - num958 && rotation < num957 + num958)
26796 {
26797 rotation = num957;
26798 }
26799 if (Main.rand.Next(5) == 0)
26800 {
26801 Vector2 val41 = new Vector2(position.X, position.Y + (float)height * 0.25f);
26802 int num1674 = width;
26803 int num1675 = (int)((float)height * 0.5f);
26804 float x7 = velocity.X;
26805 newColor = default(Color);
26806 int num959 = Dust.NewDust(val41, num1674, num1675, 5, x7, 2f, 0, newColor);
26807 Main.dust[num959].velocity.X *= 0.5f;
26808 Main.dust[num959].velocity.Y *= 0.1f;
26809 }
26810 if (Main.netMode != 1 && !Main.IsItDay() && !dead2 && timeLeft < 10)
26811 {
26812 for (int num960 = 0; num960 < 200; num960++)
26813 {
26814 if (num960 != whoAmI && Main.npc[num960].active && (Main.npc[num960].type == 125 || Main.npc[num960].type == 126))
26815 {
26816 DiscourageDespawn(Main.npc[num960].timeLeft - 1);
26817 }
26818 }
26819 }
26820 Vector2 vector254 = Vector2.Zero;
26821 if (IsMechQueenUp)
26822 {
26823 NPC nPC = Main.npc[mechQueen];
26824 Vector2 mechQueenCenter = nPC.GetMechQueenCenter();
26825 Vector2 vector255 = default(Vector2);
26826 ((Vector2)(ref vector255))._002Ector(-150f, -250f);
26827 vector255 *= 0.75f;
26828 float num961 = nPC.velocity.X * 0.025f;
26831 }
26832 reflectsProjectiles = false;
26833 if (Main.IsItDay() || dead2)
26834 {
26835 velocity.Y -= 0.04f;
26836 EncourageDespawn(10);
26837 return;
26838 }
26839 if (this.ai[0] == 0f)
26840 {
26841 if (this.ai[1] == 0f)
26842 {
26843 float num962 = 7f;
26844 float num964 = 0.1f;
26845 if (Main.expertMode)
26846 {
26847 num962 = 8.25f;
26848 num964 = 0.115f;
26849 }
26850 if (Main.getGoodWorld)
26851 {
26852 num962 *= 1.15f;
26853 num964 *= 1.15f;
26854 }
26855 int num965 = 1;
26856 if (position.X + (float)(width / 2) < Main.player[target].position.X + (float)Main.player[target].width)
26857 {
26858 num965 = -1;
26859 }
26860 Vector2 vector256 = default(Vector2);
26861 ((Vector2)(ref vector256))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
26862 float num966 = Main.player[target].position.X + (float)(Main.player[target].width / 2) + (float)(num965 * 300) - vector256.X;
26863 float num967 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - 300f - vector256.Y;
26864 if (IsMechQueenUp)
26865 {
26866 num962 = 14f;
26867 num966 = vector254.X;
26868 num967 = vector254.Y;
26869 num966 -= vector256.X;
26870 num967 -= vector256.Y;
26871 }
26872 float num968 = (float)Math.Sqrt(num966 * num966 + num967 * num967);
26873 float num969 = num968;
26874 if (IsMechQueenUp)
26875 {
26876 if (num968 > num962)
26877 {
26878 num968 = num962 / num968;
26879 num966 *= num968;
26880 num967 *= num968;
26881 }
26882 float num970 = 60f;
26883 velocity.X = (velocity.X * (num970 - 1f) + num966) / num970;
26884 velocity.Y = (velocity.Y * (num970 - 1f) + num967) / num970;
26885 }
26886 else
26887 {
26888 num968 = num962 / num968;
26889 num966 *= num968;
26890 num967 *= num968;
26891 if (velocity.X < num966)
26892 {
26893 velocity.X += num964;
26894 if (velocity.X < 0f && num966 > 0f)
26895 {
26896 velocity.X += num964;
26897 }
26898 }
26899 else if (velocity.X > num966)
26900 {
26901 velocity.X -= num964;
26902 if (velocity.X > 0f && num966 < 0f)
26903 {
26904 velocity.X -= num964;
26905 }
26906 }
26907 if (velocity.Y < num967)
26908 {
26909 velocity.Y += num964;
26910 if (velocity.Y < 0f && num967 > 0f)
26911 {
26912 velocity.Y += num964;
26913 }
26914 }
26915 else if (velocity.Y > num967)
26916 {
26917 velocity.Y -= num964;
26918 if (velocity.Y > 0f && num967 < 0f)
26919 {
26920 velocity.Y -= num964;
26921 }
26922 }
26923 }
26924 int num971 = 600;
26925 int num972 = 60;
26926 if (IsMechQueenUp)
26927 {
26928 num971 = 1200;
26929 num972 = ((!npcsFoundForCheckActive[135]) ? 90 : 120);
26930 }
26931 this.ai[2] += 1f;
26932 if (this.ai[2] >= (float)num971)
26933 {
26934 this.ai[1] = 1f;
26935 this.ai[2] = 0f;
26936 this.ai[3] = 0f;
26937 target = 255;
26938 netUpdate = true;
26939 }
26940 else if (position.Y + (float)height < Main.player[target].position.Y && num969 < 400f)
26941 {
26942 if (!Main.player[target].dead)
26943 {
26944 this.ai[3] += 1f;
26945 if (Main.expertMode && (double)life < (double)lifeMax * 0.9)
26946 {
26947 this.ai[3] += 0.3f;
26948 }
26949 if (Main.expertMode && (double)life < (double)lifeMax * 0.8)
26950 {
26951 this.ai[3] += 0.3f;
26952 }
26953 if (Main.expertMode && (double)life < (double)lifeMax * 0.7)
26954 {
26955 this.ai[3] += 0.3f;
26956 }
26957 if (Main.expertMode && (double)life < (double)lifeMax * 0.6)
26958 {
26959 this.ai[3] += 0.3f;
26960 }
26961 if (Main.getGoodWorld)
26962 {
26963 this.ai[3] += 0.5f;
26964 }
26965 }
26966 if (this.ai[3] >= (float)num972)
26967 {
26968 this.ai[3] = 0f;
26969 ((Vector2)(ref vector256))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
26970 num966 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector256.X;
26971 num967 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector256.Y;
26972 if (Main.netMode != 1)
26973 {
26974 float num973 = 9f;
26976 int num975 = 83;
26977 if (Main.expertMode)
26978 {
26979 num973 = 10.5f;
26980 }
26981 num968 = (float)Math.Sqrt(num966 * num966 + num967 * num967);
26982 num968 = num973 / num968;
26983 num966 *= num968;
26984 num967 *= num968;
26985 num966 += (float)Main.rand.Next(-40, 41) * 0.08f;
26986 num967 += (float)Main.rand.Next(-40, 41) * 0.08f;
26987 vector256.X += num966 * 15f;
26988 vector256.Y += num967 * 15f;
26989 int num976 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector256.X, vector256.Y, num966, num967, num975, attackDamage_ForProjectiles6, 0f, Main.myPlayer);
26990 }
26991 }
26992 }
26993 }
26994 else if (this.ai[1] == 1f)
26995 {
26996 rotation = num957;
26997 float num977 = 12f;
26998 if (Main.expertMode)
26999 {
27000 num977 = 15f;
27001 }
27002 if (Main.getGoodWorld)
27003 {
27004 num977 += 2f;
27005 }
27006 Vector2 vector257 = default(Vector2);
27007 ((Vector2)(ref vector257))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
27008 float num978 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector257.X;
27009 float num979 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector257.Y;
27010 float num980 = (float)Math.Sqrt(num978 * num978 + num979 * num979);
27011 num980 = num977 / num980;
27012 velocity.X = num978 * num980;
27013 velocity.Y = num979 * num980;
27014 this.ai[1] = 2f;
27015 }
27016 else if (this.ai[1] == 2f)
27017 {
27018 this.ai[2] += 1f;
27019 if (this.ai[2] >= 25f)
27020 {
27021 velocity.X *= 0.96f;
27022 velocity.Y *= 0.96f;
27023 if ((double)velocity.X > -0.1 && (double)velocity.X < 0.1)
27024 {
27025 velocity.X = 0f;
27026 }
27027 if ((double)velocity.Y > -0.1 && (double)velocity.Y < 0.1)
27028 {
27029 velocity.Y = 0f;
27030 }
27031 }
27032 else
27033 {
27034 rotation = (float)Math.Atan2(velocity.Y, velocity.X) - 1.57f;
27035 }
27036 if (this.ai[2] >= 70f)
27037 {
27038 this.ai[3] += 1f;
27039 this.ai[2] = 0f;
27040 target = 255;
27041 rotation = num957;
27042 if (this.ai[3] >= 4f)
27043 {
27044 this.ai[1] = 0f;
27045 this.ai[3] = 0f;
27046 }
27047 else
27048 {
27049 this.ai[1] = 1f;
27050 }
27051 }
27052 }
27053 if ((double)life < (double)lifeMax * 0.4)
27054 {
27055 this.ai[0] = 1f;
27056 this.ai[1] = 0f;
27057 this.ai[2] = 0f;
27058 this.ai[3] = 0f;
27059 netUpdate = true;
27060 }
27061 return;
27062 }
27063 if (this.ai[0] == 1f || this.ai[0] == 2f)
27064 {
27065 if (IsMechQueenUp)
27066 {
27067 reflectsProjectiles = true;
27068 }
27069 if (this.ai[0] == 1f)
27070 {
27071 this.ai[2] += 0.005f;
27072 if ((double)this.ai[2] > 0.5)
27073 {
27074 this.ai[2] = 0.5f;
27075 }
27076 }
27077 else
27078 {
27079 this.ai[2] -= 0.005f;
27080 if (this.ai[2] < 0f)
27081 {
27082 this.ai[2] = 0f;
27083 }
27084 }
27085 rotation += this.ai[2];
27086 this.ai[1] += 1f;
27087 if (this.ai[1] >= 100f)
27088 {
27089 this.ai[0] += 1f;
27090 this.ai[1] = 0f;
27091 if (this.ai[0] == 3f)
27092 {
27093 this.ai[2] = 0f;
27094 }
27095 else
27096 {
27097 SoundEngine.PlaySound(3, (int)position.X, (int)position.Y);
27098 for (int num981 = 0; num981 < 2; num981++)
27099 {
27100 Gore.NewGore(position, new Vector2((float)Main.rand.Next(-30, 31) * 0.2f, (float)Main.rand.Next(-30, 31) * 0.2f), 143);
27101 Gore.NewGore(position, new Vector2((float)Main.rand.Next(-30, 31) * 0.2f, (float)Main.rand.Next(-30, 31) * 0.2f), 7);
27102 Gore.NewGore(position, new Vector2((float)Main.rand.Next(-30, 31) * 0.2f, (float)Main.rand.Next(-30, 31) * 0.2f), 6);
27103 }
27104 for (int num982 = 0; num982 < 20; num982++)
27105 {
27106 Vector2 val42 = position;
27107 int num1676 = width;
27108 int num1677 = height;
27109 float speedX17 = (float)Main.rand.Next(-30, 31) * 0.2f;
27110 float speedY16 = (float)Main.rand.Next(-30, 31) * 0.2f;
27111 newColor = default(Color);
27112 Dust.NewDust(val42, num1676, num1677, 5, speedX17, speedY16, 0, newColor);
27113 }
27114 SoundEngine.PlaySound(15, (int)position.X, (int)position.Y, 0);
27115 }
27116 }
27117 Vector2 val43 = position;
27118 int num1678 = width;
27119 int num1679 = height;
27120 float speedX18 = (float)Main.rand.Next(-30, 31) * 0.2f;
27121 float speedY17 = (float)Main.rand.Next(-30, 31) * 0.2f;
27122 newColor = default(Color);
27123 Dust.NewDust(val43, num1678, num1679, 5, speedX18, speedY17, 0, newColor);
27124 velocity.X *= 0.98f;
27125 velocity.Y *= 0.98f;
27126 if ((double)velocity.X > -0.1 && (double)velocity.X < 0.1)
27127 {
27128 velocity.X = 0f;
27129 }
27130 if ((double)velocity.Y > -0.1 && (double)velocity.Y < 0.1)
27131 {
27132 velocity.Y = 0f;
27133 }
27134 return;
27135 }
27136 damage = (int)((double)defDamage * 1.5);
27137 defense = defDefense + 10;
27139 if (this.ai[1] == 0f)
27140 {
27141 float num983 = 8f;
27142 float num984 = 0.15f;
27143 if (Main.expertMode)
27144 {
27145 num983 = 9.5f;
27146 num984 = 0.175f;
27147 }
27148 if (Main.getGoodWorld)
27149 {
27150 num983 *= 1.15f;
27151 num984 *= 1.15f;
27152 }
27153 Vector2 vector258 = default(Vector2);
27154 ((Vector2)(ref vector258))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
27155 float num986 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector258.X;
27156 float num987 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - 300f - vector258.Y;
27157 if (IsMechQueenUp)
27158 {
27159 num983 = 14f;
27160 num986 = vector254.X;
27161 num987 = vector254.Y;
27162 num986 -= vector258.X;
27163 num987 -= vector258.Y;
27164 }
27165 float num988 = (float)Math.Sqrt(num986 * num986 + num987 * num987);
27166 if (IsMechQueenUp)
27167 {
27168 if (num988 > num983)
27169 {
27170 num988 = num983 / num988;
27171 num986 *= num988;
27172 num987 *= num988;
27173 }
27174 velocity.X = (velocity.X * 4f + num986) / 5f;
27175 velocity.Y = (velocity.Y * 4f + num987) / 5f;
27176 }
27177 else
27178 {
27179 num988 = num983 / num988;
27180 num986 *= num988;
27181 num987 *= num988;
27182 if (velocity.X < num986)
27183 {
27184 velocity.X += num984;
27185 if (velocity.X < 0f && num986 > 0f)
27186 {
27187 velocity.X += num984;
27188 }
27189 }
27190 else if (velocity.X > num986)
27191 {
27192 velocity.X -= num984;
27193 if (velocity.X > 0f && num986 < 0f)
27194 {
27195 velocity.X -= num984;
27196 }
27197 }
27198 if (velocity.Y < num987)
27199 {
27200 velocity.Y += num984;
27201 if (velocity.Y < 0f && num987 > 0f)
27202 {
27203 velocity.Y += num984;
27204 }
27205 }
27206 else if (velocity.Y > num987)
27207 {
27208 velocity.Y -= num984;
27209 if (velocity.Y > 0f && num987 < 0f)
27210 {
27211 velocity.Y -= num984;
27212 }
27213 }
27214 }
27215 int num989 = 300;
27216 if (IsMechQueenUp)
27217 {
27218 num989 = 1200;
27219 }
27220 this.ai[2] += 1f;
27221 if (this.ai[2] >= (float)num989)
27222 {
27223 this.ai[1] = 1f;
27224 this.ai[2] = 0f;
27225 this.ai[3] = 0f;
27226 TargetClosest();
27227 netUpdate = true;
27228 }
27229 ((Vector2)(ref vector258))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
27230 num986 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector258.X;
27231 num987 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector258.Y;
27232 rotation = (float)Math.Atan2(num987, num986) - 1.57f;
27233 if (Main.netMode == 1)
27234 {
27235 return;
27236 }
27237 localAI[1] += 1f;
27238 if ((double)life < (double)lifeMax * 0.75)
27239 {
27240 localAI[1] += 1f;
27241 }
27242 if ((double)life < (double)lifeMax * 0.5)
27243 {
27244 localAI[1] += 1f;
27245 }
27246 if ((double)life < (double)lifeMax * 0.25)
27247 {
27248 localAI[1] += 1f;
27249 }
27250 if ((double)life < (double)lifeMax * 0.1)
27251 {
27252 localAI[1] += 2f;
27253 }
27254 if (localAI[1] > 180f && Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height))
27255 {
27256 localAI[1] = 0f;
27257 float num990 = 8.5f;
27259 int num991 = 100;
27260 if (Main.expertMode)
27261 {
27262 num990 = 10f;
27263 }
27264 num988 = (float)Math.Sqrt(num986 * num986 + num987 * num987);
27265 num988 = num990 / num988;
27266 num986 *= num988;
27267 num987 *= num988;
27268 vector258.X += num986 * 15f;
27269 vector258.Y += num987 * 15f;
27270 int num992 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector258.X, vector258.Y, num986, num987, num991, attackDamage_ForProjectiles7, 0f, Main.myPlayer);
27271 }
27272 return;
27273 }
27274 int num993 = 1;
27275 if (position.X + (float)(width / 2) < Main.player[target].position.X + (float)Main.player[target].width)
27276 {
27277 num993 = -1;
27278 }
27279 float num994 = 8f;
27280 float num995 = 0.2f;
27281 if (Main.expertMode)
27282 {
27283 num994 = 9.5f;
27284 num995 = 0.25f;
27285 }
27286 if (Main.getGoodWorld)
27287 {
27288 num994 *= 1.15f;
27289 num995 *= 1.15f;
27290 }
27291 Vector2 vector259 = default(Vector2);
27292 ((Vector2)(ref vector259))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
27293 float num997 = Main.player[target].position.X + (float)(Main.player[target].width / 2) + (float)(num993 * 340) - vector259.X;
27294 float num998 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector259.Y;
27295 float num999 = (float)Math.Sqrt(num997 * num997 + num998 * num998);
27296 num999 = num994 / num999;
27297 num997 *= num999;
27298 num998 *= num999;
27299 if (velocity.X < num997)
27300 {
27301 velocity.X += num995;
27302 if (velocity.X < 0f && num997 > 0f)
27303 {
27304 velocity.X += num995;
27305 }
27306 }
27307 else if (velocity.X > num997)
27308 {
27309 velocity.X -= num995;
27310 if (velocity.X > 0f && num997 < 0f)
27311 {
27312 velocity.X -= num995;
27313 }
27314 }
27315 if (velocity.Y < num998)
27316 {
27317 velocity.Y += num995;
27318 if (velocity.Y < 0f && num998 > 0f)
27319 {
27320 velocity.Y += num995;
27321 }
27322 }
27323 else if (velocity.Y > num998)
27324 {
27325 velocity.Y -= num995;
27326 if (velocity.Y > 0f && num998 < 0f)
27327 {
27328 velocity.Y -= num995;
27329 }
27330 }
27331 ((Vector2)(ref vector259))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
27332 num997 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector259.X;
27333 num998 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector259.Y;
27334 rotation = (float)Math.Atan2(num998, num997) - 1.57f;
27335 if (Main.netMode != 1)
27336 {
27337 localAI[1] += 1f;
27338 if ((double)life < (double)lifeMax * 0.75)
27339 {
27340 localAI[1] += 0.5f;
27341 }
27342 if ((double)life < (double)lifeMax * 0.5)
27343 {
27344 localAI[1] += 0.75f;
27345 }
27346 if ((double)life < (double)lifeMax * 0.25)
27347 {
27348 localAI[1] += 1f;
27349 }
27350 if ((double)life < (double)lifeMax * 0.1)
27351 {
27352 localAI[1] += 1.5f;
27353 }
27354 if (Main.expertMode)
27355 {
27356 localAI[1] += 1.5f;
27357 }
27358 if (localAI[1] > 60f && Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height))
27359 {
27360 localAI[1] = 0f;
27361 float num1000 = 9f;
27363 int num1001 = 100;
27364 num999 = (float)Math.Sqrt(num997 * num997 + num998 * num998);
27365 num999 = num1000 / num999;
27366 num997 *= num999;
27367 num998 *= num999;
27368 vector259.X += num997 * 15f;
27369 vector259.Y += num998 * 15f;
27370 int num1002 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector259.X, vector259.Y, num997, num998, num1001, attackDamage_ForProjectiles8, 0f, Main.myPlayer);
27371 }
27372 }
27373 this.ai[2] += 1f;
27374 if (this.ai[2] >= 180f)
27375 {
27376 this.ai[1] = 0f;
27377 this.ai[2] = 0f;
27378 this.ai[3] = 0f;
27379 TargetClosest();
27380 netUpdate = true;
27381 }
27382 }
27383 else if (aiStyle == 31)
27384 {
27385 if (target < 0 || target == 255 || Main.player[target].dead || !Main.player[target].active)
27386 {
27387 TargetClosest();
27388 }
27389 bool dead3 = Main.player[target].dead;
27390 float num1003 = position.X + (float)(width / 2) - Main.player[target].position.X - (float)(Main.player[target].width / 2);
27391 float num1004 = position.Y + (float)height - 59f - Main.player[target].position.Y - (float)(Main.player[target].height / 2);
27392 float num1005 = (float)Math.Atan2(num1004, num1003) + 1.57f;
27393 if (num1005 < 0f)
27394 {
27395 num1005 += 6.283f;
27396 }
27397 else if ((double)num1005 > 6.283)
27398 {
27399 num1005 -= 6.283f;
27400 }
27401 float num1006 = 0.15f;
27402 if (IsMechQueenUp && this.ai[0] == 3f && this.ai[1] == 0f)
27403 {
27404 num1006 *= 0.25f;
27405 }
27406 if (rotation < num1005)
27407 {
27408 if ((double)(num1005 - rotation) > 3.1415)
27409 {
27410 rotation -= num1006;
27411 }
27412 else
27413 {
27414 rotation += num1006;
27415 }
27416 }
27417 else if (rotation > num1005)
27418 {
27419 if ((double)(rotation - num1005) > 3.1415)
27420 {
27421 rotation += num1006;
27422 }
27423 else
27424 {
27425 rotation -= num1006;
27426 }
27427 }
27429 {
27430 rotation = num1005;
27431 }
27432 if (rotation < 0f)
27433 {
27434 rotation += 6.283f;
27435 }
27436 else if ((double)rotation > 6.283)
27437 {
27438 rotation -= 6.283f;
27439 }
27441 {
27442 rotation = num1005;
27443 }
27444 if (Main.rand.Next(5) == 0)
27445 {
27446 Vector2 val44 = new Vector2(position.X, position.Y + (float)height * 0.25f);
27447 int num1680 = width;
27448 int num1681 = (int)((float)height * 0.5f);
27449 float x8 = velocity.X;
27450 newColor = default(Color);
27451 int num1008 = Dust.NewDust(val44, num1680, num1681, 5, x8, 2f, 0, newColor);
27452 Main.dust[num1008].velocity.X *= 0.5f;
27453 Main.dust[num1008].velocity.Y *= 0.1f;
27454 }
27455 if (Main.netMode != 1 && !Main.IsItDay() && !dead3 && timeLeft < 10)
27456 {
27457 for (int num1009 = 0; num1009 < 200; num1009++)
27458 {
27459 if (num1009 != whoAmI && Main.npc[num1009].active && (Main.npc[num1009].type == 125 || Main.npc[num1009].type == 126))
27460 {
27461 DiscourageDespawn(Main.npc[num1009].timeLeft - 1);
27462 }
27463 }
27464 }
27465 Vector2 vector260 = Vector2.Zero;
27466 if (IsMechQueenUp)
27467 {
27468 NPC nPC5 = Main.npc[mechQueen];
27469 Vector2 mechQueenCenter2 = nPC5.GetMechQueenCenter();
27470 Vector2 vector261 = default(Vector2);
27471 ((Vector2)(ref vector261))._002Ector(150f, -250f);
27472 vector261 *= 0.75f;
27473 float num1010 = nPC5.velocity.X * 0.025f;
27476 }
27477 reflectsProjectiles = false;
27478 if (Main.IsItDay() || dead3)
27479 {
27480 velocity.Y -= 0.04f;
27481 EncourageDespawn(10);
27482 return;
27483 }
27484 if (this.ai[0] == 0f)
27485 {
27486 if (this.ai[1] == 0f)
27487 {
27488 TargetClosest();
27489 float num1011 = 12f;
27490 float num1012 = 0.4f;
27491 if (Main.getGoodWorld)
27492 {
27493 num1011 *= 1.15f;
27494 num1012 *= 1.15f;
27495 }
27496 int num1013 = 1;
27497 if (position.X + (float)(width / 2) < Main.player[target].position.X + (float)Main.player[target].width)
27498 {
27499 num1013 = -1;
27500 }
27501 Vector2 vector262 = default(Vector2);
27502 ((Vector2)(ref vector262))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
27503 float num1014 = Main.player[target].position.X + (float)(Main.player[target].width / 2) + (float)(num1013 * 400) - vector262.X;
27504 float num1015 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector262.Y;
27505 if (IsMechQueenUp)
27506 {
27507 num1011 = 14f;
27508 num1014 = vector260.X;
27509 num1015 = vector260.Y;
27510 num1014 -= vector262.X;
27511 num1015 -= vector262.Y;
27512 }
27513 float num1016 = (float)Math.Sqrt(num1014 * num1014 + num1015 * num1015);
27514 float num1017 = num1016;
27515 if (IsMechQueenUp)
27516 {
27517 if (num1016 > num1011)
27518 {
27520 num1014 *= num1016;
27521 num1015 *= num1016;
27522 }
27523 velocity.X = (velocity.X * 4f + num1014) / 5f;
27524 velocity.Y = (velocity.Y * 4f + num1015) / 5f;
27525 }
27526 else
27527 {
27529 num1014 *= num1016;
27530 num1015 *= num1016;
27531 if (velocity.X < num1014)
27532 {
27533 velocity.X += num1012;
27534 if (velocity.X < 0f && num1014 > 0f)
27535 {
27536 velocity.X += num1012;
27537 }
27538 }
27539 else if (velocity.X > num1014)
27540 {
27541 velocity.X -= num1012;
27542 if (velocity.X > 0f && num1014 < 0f)
27543 {
27544 velocity.X -= num1012;
27545 }
27546 }
27547 if (velocity.Y < num1015)
27548 {
27549 velocity.Y += num1012;
27550 if (velocity.Y < 0f && num1015 > 0f)
27551 {
27552 velocity.Y += num1012;
27553 }
27554 }
27555 else if (velocity.Y > num1015)
27556 {
27557 velocity.Y -= num1012;
27558 if (velocity.Y > 0f && num1015 < 0f)
27559 {
27560 velocity.Y -= num1012;
27561 }
27562 }
27563 }
27564 int num1019 = 600;
27565 if (IsMechQueenUp)
27566 {
27567 num1019 = 1200;
27568 }
27569 this.ai[2] += 1f;
27570 if (this.ai[2] >= (float)num1019)
27571 {
27572 this.ai[1] = 1f;
27573 this.ai[2] = 0f;
27574 this.ai[3] = 0f;
27575 target = 255;
27576 netUpdate = true;
27577 }
27578 else
27579 {
27580 if (!Main.player[target].dead)
27581 {
27582 this.ai[3] += 1f;
27583 if (Main.expertMode && (double)life < (double)lifeMax * 0.8)
27584 {
27585 this.ai[3] += 0.6f;
27586 }
27587 if (Main.getGoodWorld)
27588 {
27589 this.ai[3] += 0.4f;
27590 }
27591 }
27592 if (this.ai[3] >= 60f)
27593 {
27594 this.ai[3] = 0f;
27595 ((Vector2)(ref vector262))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
27596 num1014 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector262.X;
27597 num1015 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector262.Y;
27598 if (Main.netMode != 1)
27599 {
27600 float num1020 = 12f;
27602 int num1021 = 96;
27603 if (Main.expertMode)
27604 {
27605 num1020 = 14f;
27606 }
27607 num1016 = (float)Math.Sqrt(num1014 * num1014 + num1015 * num1015);
27609 num1014 *= num1016;
27610 num1015 *= num1016;
27611 num1014 += (float)Main.rand.Next(-40, 41) * 0.05f;
27612 num1015 += (float)Main.rand.Next(-40, 41) * 0.05f;
27613 vector262.X += num1014 * 4f;
27614 vector262.Y += num1015 * 4f;
27615 int num1022 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector262.X, vector262.Y, num1014, num1015, num1021, attackDamage_ForProjectiles9, 0f, Main.myPlayer);
27616 }
27617 }
27618 }
27619 }
27620 else if (this.ai[1] == 1f)
27621 {
27622 rotation = num1005;
27623 float num1023 = 13f;
27624 if (Main.expertMode)
27625 {
27626 if ((double)life < (double)lifeMax * 0.9)
27627 {
27628 num1023 += 0.5f;
27629 }
27630 if ((double)life < (double)lifeMax * 0.8)
27631 {
27632 num1023 += 0.5f;
27633 }
27634 if ((double)life < (double)lifeMax * 0.7)
27635 {
27636 num1023 += 0.55f;
27637 }
27638 if ((double)life < (double)lifeMax * 0.6)
27639 {
27640 num1023 += 0.6f;
27641 }
27642 if ((double)life < (double)lifeMax * 0.5)
27643 {
27644 num1023 += 0.65f;
27645 }
27646 }
27647 if (Main.getGoodWorld)
27648 {
27649 num1023 *= 1.2f;
27650 }
27651 Vector2 vector264 = default(Vector2);
27652 ((Vector2)(ref vector264))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
27653 float num1024 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector264.X;
27654 float num1025 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector264.Y;
27655 float num1026 = (float)Math.Sqrt(num1024 * num1024 + num1025 * num1025);
27657 velocity.X = num1024 * num1026;
27658 velocity.Y = num1025 * num1026;
27659 this.ai[1] = 2f;
27660 }
27661 else if (this.ai[1] == 2f)
27662 {
27663 this.ai[2] += 1f;
27664 if (this.ai[2] >= 8f)
27665 {
27666 velocity.X *= 0.9f;
27667 velocity.Y *= 0.9f;
27668 if ((double)velocity.X > -0.1 && (double)velocity.X < 0.1)
27669 {
27670 velocity.X = 0f;
27671 }
27672 if ((double)velocity.Y > -0.1 && (double)velocity.Y < 0.1)
27673 {
27674 velocity.Y = 0f;
27675 }
27676 }
27677 else
27678 {
27679 rotation = (float)Math.Atan2(velocity.Y, velocity.X) - 1.57f;
27680 }
27681 if (this.ai[2] >= 42f)
27682 {
27683 this.ai[3] += 1f;
27684 this.ai[2] = 0f;
27685 target = 255;
27686 rotation = num1005;
27687 if (this.ai[3] >= 10f)
27688 {
27689 this.ai[1] = 0f;
27690 this.ai[3] = 0f;
27691 }
27692 else
27693 {
27694 this.ai[1] = 1f;
27695 }
27696 }
27697 }
27698 if ((double)life < (double)lifeMax * 0.4)
27699 {
27700 this.ai[0] = 1f;
27701 this.ai[1] = 0f;
27702 this.ai[2] = 0f;
27703 this.ai[3] = 0f;
27704 netUpdate = true;
27705 }
27706 return;
27707 }
27708 if (this.ai[0] == 1f || this.ai[0] == 2f)
27709 {
27710 if (IsMechQueenUp)
27711 {
27712 reflectsProjectiles = true;
27713 }
27714 if (this.ai[0] == 1f)
27715 {
27716 this.ai[2] += 0.005f;
27717 if ((double)this.ai[2] > 0.5)
27718 {
27719 this.ai[2] = 0.5f;
27720 }
27721 }
27722 else
27723 {
27724 this.ai[2] -= 0.005f;
27725 if (this.ai[2] < 0f)
27726 {
27727 this.ai[2] = 0f;
27728 }
27729 }
27730 rotation += this.ai[2];
27731 this.ai[1] += 1f;
27732 if (this.ai[1] >= 100f)
27733 {
27734 this.ai[0] += 1f;
27735 this.ai[1] = 0f;
27736 if (this.ai[0] == 3f)
27737 {
27738 this.ai[2] = 0f;
27739 }
27740 else
27741 {
27742 SoundEngine.PlaySound(3, (int)position.X, (int)position.Y);
27743 for (int num1027 = 0; num1027 < 2; num1027++)
27744 {
27745 Gore.NewGore(position, new Vector2((float)Main.rand.Next(-30, 31) * 0.2f, (float)Main.rand.Next(-30, 31) * 0.2f), 144);
27746 Gore.NewGore(position, new Vector2((float)Main.rand.Next(-30, 31) * 0.2f, (float)Main.rand.Next(-30, 31) * 0.2f), 7);
27747 Gore.NewGore(position, new Vector2((float)Main.rand.Next(-30, 31) * 0.2f, (float)Main.rand.Next(-30, 31) * 0.2f), 6);
27748 }
27749 for (int num1028 = 0; num1028 < 20; num1028++)
27750 {
27751 Vector2 val45 = position;
27752 int num1682 = width;
27753 int num1683 = height;
27754 float speedX19 = (float)Main.rand.Next(-30, 31) * 0.2f;
27755 float speedY18 = (float)Main.rand.Next(-30, 31) * 0.2f;
27756 newColor = default(Color);
27757 Dust.NewDust(val45, num1682, num1683, 5, speedX19, speedY18, 0, newColor);
27758 }
27759 SoundEngine.PlaySound(15, (int)position.X, (int)position.Y, 0);
27760 }
27761 }
27762 Vector2 val46 = position;
27763 int num1684 = width;
27764 int num1685 = height;
27765 float speedX20 = (float)Main.rand.Next(-30, 31) * 0.2f;
27766 float speedY19 = (float)Main.rand.Next(-30, 31) * 0.2f;
27767 newColor = default(Color);
27768 Dust.NewDust(val46, num1684, num1685, 5, speedX20, speedY19, 0, newColor);
27769 velocity.X *= 0.98f;
27770 velocity.Y *= 0.98f;
27771 if ((double)velocity.X > -0.1 && (double)velocity.X < 0.1)
27772 {
27773 velocity.X = 0f;
27774 }
27775 if ((double)velocity.Y > -0.1 && (double)velocity.Y < 0.1)
27776 {
27777 velocity.Y = 0f;
27778 }
27779 return;
27780 }
27782 damage = (int)((double)defDamage * 1.5);
27783 defense = defDefense + 18;
27784 if (this.ai[1] == 0f)
27785 {
27786 float num1030 = 4f;
27787 float num1031 = 0.1f;
27788 int num1032 = 1;
27789 if (position.X + (float)(width / 2) < Main.player[target].position.X + (float)Main.player[target].width)
27790 {
27791 num1032 = -1;
27792 }
27793 Vector2 vector265 = default(Vector2);
27794 ((Vector2)(ref vector265))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
27795 float num1033 = Main.player[target].position.X + (float)(Main.player[target].width / 2) + (float)(num1032 * 180) - vector265.X;
27796 float num1034 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector265.Y;
27797 float num1035 = (float)Math.Sqrt(num1033 * num1033 + num1034 * num1034);
27798 if (!IsMechQueenUp)
27799 {
27800 if (Main.expertMode)
27801 {
27802 if (num1035 > 300f)
27803 {
27804 num1030 += 0.5f;
27805 }
27806 if (num1035 > 400f)
27807 {
27808 num1030 += 0.5f;
27809 }
27810 if (num1035 > 500f)
27811 {
27812 num1030 += 0.55f;
27813 }
27814 if (num1035 > 600f)
27815 {
27816 num1030 += 0.55f;
27817 }
27818 if (num1035 > 700f)
27819 {
27820 num1030 += 0.6f;
27821 }
27822 if (num1035 > 800f)
27823 {
27824 num1030 += 0.6f;
27825 }
27826 }
27827 if (Main.getGoodWorld)
27828 {
27829 num1030 *= 1.15f;
27830 num1031 *= 1.15f;
27831 }
27833 num1033 *= num1035;
27834 num1034 *= num1035;
27835 if (velocity.X < num1033)
27836 {
27837 velocity.X += num1031;
27838 if (velocity.X < 0f && num1033 > 0f)
27839 {
27840 velocity.X += num1031;
27841 }
27842 }
27843 else if (velocity.X > num1033)
27844 {
27845 velocity.X -= num1031;
27846 if (velocity.X > 0f && num1033 < 0f)
27847 {
27848 velocity.X -= num1031;
27849 }
27850 }
27851 if (velocity.Y < num1034)
27852 {
27853 velocity.Y += num1031;
27854 if (velocity.Y < 0f && num1034 > 0f)
27855 {
27856 velocity.Y += num1031;
27857 }
27858 }
27859 else if (velocity.Y > num1034)
27860 {
27861 velocity.Y -= num1031;
27862 if (velocity.Y > 0f && num1034 < 0f)
27863 {
27864 velocity.Y -= num1031;
27865 }
27866 }
27867 }
27868 int num1036 = 400;
27869 if (IsMechQueenUp)
27870 {
27871 num1036 = 1200;
27872 }
27873 this.ai[2] += 1f;
27874 if (this.ai[2] >= (float)num1036)
27875 {
27876 this.ai[1] = 1f;
27877 this.ai[2] = 0f;
27878 this.ai[3] = 0f;
27879 target = 255;
27880 netUpdate = true;
27881 }
27882 if (Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height))
27883 {
27884 localAI[2] += 1f;
27885 if (localAI[2] > 22f)
27886 {
27887 localAI[2] = 0f;
27889 }
27890 if (Main.netMode != 1)
27891 {
27892 localAI[1] += 1f;
27893 if ((double)life < (double)lifeMax * 0.75)
27894 {
27895 localAI[1] += 1f;
27896 }
27897 if ((double)life < (double)lifeMax * 0.5)
27898 {
27899 localAI[1] += 1f;
27900 }
27901 if ((double)life < (double)lifeMax * 0.25)
27902 {
27903 localAI[1] += 1f;
27904 }
27905 if ((double)life < (double)lifeMax * 0.1)
27906 {
27907 localAI[1] += 2f;
27908 }
27909 if (localAI[1] > 8f)
27910 {
27911 localAI[1] = 0f;
27912 float num1037 = 6f;
27914 int num1038 = 101;
27915 ((Vector2)(ref vector265))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
27916 num1033 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector265.X;
27917 num1034 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector265.Y;
27918 num1035 = (float)Math.Sqrt(num1033 * num1033 + num1034 * num1034);
27920 num1033 *= num1035;
27921 num1034 *= num1035;
27922 num1034 += (float)Main.rand.Next(-40, 41) * 0.01f;
27923 num1033 += (float)Main.rand.Next(-40, 41) * 0.01f;
27924 num1034 += velocity.Y * 0.5f;
27925 num1033 += velocity.X * 0.5f;
27926 vector265.X -= num1033 * 1f;
27927 vector265.Y -= num1034 * 1f;
27928 if (IsMechQueenUp)
27929 {
27930 Vector2 vector266 = (rotation + (float)Math.PI / 2f).ToRotationVector2() * num1037 + velocity * 0.5f;
27931 num1033 = vector266.X;
27932 num1034 = vector266.Y;
27933 vector265 = base.Center - vector266 * 3f;
27934 }
27935 int num1039 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector265.X, vector265.Y, num1033, num1034, num1038, attackDamage_ForProjectiles10, 0f, Main.myPlayer);
27936 }
27937 }
27938 }
27939 if (IsMechQueenUp)
27940 {
27941 num1030 = 14f;
27942 num1033 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector265.X;
27943 num1034 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - 300f - vector265.Y;
27944 num1033 = vector260.X;
27945 num1034 = vector260.Y;
27946 num1033 -= vector265.X;
27947 num1034 -= vector265.Y;
27948 num1035 = (float)Math.Sqrt(num1033 * num1033 + num1034 * num1034);
27949 if (num1035 > num1030)
27950 {
27952 num1033 *= num1035;
27953 num1034 *= num1035;
27954 }
27955 int num1041 = 60;
27956 velocity.X = (velocity.X * (float)(num1041 - 1) + num1033) / (float)num1041;
27957 velocity.Y = (velocity.Y * (float)(num1041 - 1) + num1034) / (float)num1041;
27958 }
27959 }
27960 else if (this.ai[1] == 1f)
27961 {
27962 SoundEngine.PlaySound(15, (int)position.X, (int)position.Y, 0);
27963 rotation = num1005;
27964 float num1042 = 14f;
27965 if (Main.expertMode)
27966 {
27967 num1042 += 2.5f;
27968 }
27969 Vector2 vector267 = default(Vector2);
27970 ((Vector2)(ref vector267))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
27971 float num1043 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector267.X;
27972 float num1044 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector267.Y;
27973 float num1045 = (float)Math.Sqrt(num1043 * num1043 + num1044 * num1044);
27975 velocity.X = num1043 * num1045;
27976 velocity.Y = num1044 * num1045;
27977 this.ai[1] = 2f;
27978 }
27979 else
27980 {
27981 if (this.ai[1] != 2f)
27982 {
27983 return;
27984 }
27985 this.ai[2] += 1f;
27986 if (Main.expertMode)
27987 {
27988 this.ai[2] += 0.5f;
27989 }
27990 if (this.ai[2] >= 50f)
27991 {
27992 velocity.X *= 0.93f;
27993 velocity.Y *= 0.93f;
27994 if ((double)velocity.X > -0.1 && (double)velocity.X < 0.1)
27995 {
27996 velocity.X = 0f;
27997 }
27998 if ((double)velocity.Y > -0.1 && (double)velocity.Y < 0.1)
27999 {
28000 velocity.Y = 0f;
28001 }
28002 }
28003 else
28004 {
28005 rotation = (float)Math.Atan2(velocity.Y, velocity.X) - 1.57f;
28006 }
28007 if (this.ai[2] >= 80f)
28008 {
28009 this.ai[3] += 1f;
28010 this.ai[2] = 0f;
28011 target = 255;
28012 rotation = num1005;
28013 if (this.ai[3] >= 6f)
28014 {
28015 this.ai[1] = 0f;
28016 this.ai[3] = 0f;
28017 }
28018 else
28019 {
28020 this.ai[1] = 1f;
28021 }
28022 }
28023 }
28024 }
28025 else if (aiStyle == 32)
28026 {
28027 damage = defDamage;
28029 if (this.ai[3] != 0f)
28030 {
28031 mechQueen = whoAmI;
28032 }
28033 reflectsProjectiles = false;
28034 if (this.ai[0] == 0f && Main.netMode != 1)
28035 {
28036 TargetClosest();
28037 this.ai[0] = 1f;
28038 int num1046 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)(position.X + (float)(width / 2)), (int)position.Y + height / 2, 128, whoAmI);
28039 Main.npc[num1046].ai[0] = -1f;
28040 Main.npc[num1046].ai[1] = whoAmI;
28041 Main.npc[num1046].target = target;
28042 Main.npc[num1046].netUpdate = true;
28043 num1046 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)(position.X + (float)(width / 2)), (int)position.Y + height / 2, 129, whoAmI);
28044 Main.npc[num1046].ai[0] = 1f;
28045 Main.npc[num1046].ai[1] = whoAmI;
28046 Main.npc[num1046].target = target;
28047 Main.npc[num1046].netUpdate = true;
28048 num1046 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)(position.X + (float)(width / 2)), (int)position.Y + height / 2, 130, whoAmI);
28049 Main.npc[num1046].ai[0] = -1f;
28050 Main.npc[num1046].ai[1] = whoAmI;
28051 Main.npc[num1046].target = target;
28052 Main.npc[num1046].ai[3] = 150f;
28053 Main.npc[num1046].netUpdate = true;
28054 num1046 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)(position.X + (float)(width / 2)), (int)position.Y + height / 2, 131, whoAmI);
28055 Main.npc[num1046].ai[0] = 1f;
28056 Main.npc[num1046].ai[1] = whoAmI;
28057 Main.npc[num1046].target = target;
28058 Main.npc[num1046].netUpdate = true;
28059 Main.npc[num1046].ai[3] = 150f;
28060 }
28061 if (Main.player[target].dead || Math.Abs(position.X - Main.player[target].position.X) > 6000f || Math.Abs(position.Y - Main.player[target].position.Y) > 6000f)
28062 {
28063 TargetClosest();
28064 if (Main.player[target].dead || Math.Abs(position.X - Main.player[target].position.X) > 6000f || Math.Abs(position.Y - Main.player[target].position.Y) > 6000f)
28065 {
28066 this.ai[1] = 3f;
28067 }
28068 }
28069 if (Main.IsItDay() && this.ai[1] != 3f && this.ai[1] != 2f)
28070 {
28071 this.ai[1] = 2f;
28072 SoundEngine.PlaySound(15, (int)position.X, (int)position.Y, 0);
28073 }
28074 if (this.ai[1] == 0f)
28075 {
28076 this.ai[2] += 1f;
28077 if (this.ai[2] >= 600f)
28078 {
28079 this.ai[2] = 0f;
28080 this.ai[1] = 1f;
28081 TargetClosest();
28082 netUpdate = true;
28083 }
28084 if (IsMechQueenUp)
28085 {
28086 rotation = rotation.AngleLerp(velocity.X / 15f * 0.5f, 0.75f);
28087 }
28088 else
28089 {
28090 rotation = velocity.X / 15f;
28091 }
28092 float num1047 = 0.1f;
28093 float num1048 = 2f;
28094 float num1049 = 0.1f;
28095 float num1050 = 8f;
28096 int num1053 = 200;
28097 int num1054 = 500;
28098 float num1055 = 0f;
28099 int num1056 = ((!(Main.player[target].Center.X < base.Center.X)) ? 1 : (-1));
28100 if (IsMechQueenUp)
28101 {
28102 num1055 = -450f * (float)num1056;
28103 num1053 = 300;
28104 num1054 = 350;
28105 }
28106 if (Main.expertMode)
28107 {
28108 num1047 = 0.03f;
28109 num1048 = 4f;
28110 num1049 = 0.07f;
28111 num1050 = 9.5f;
28112 }
28113 if (position.Y > Main.player[target].position.Y - (float)num1053)
28114 {
28115 if (velocity.Y > 0f)
28116 {
28117 velocity.Y *= 0.98f;
28118 }
28119 velocity.Y -= num1047;
28120 if (velocity.Y > num1048)
28121 {
28122 velocity.Y = num1048;
28123 }
28124 }
28125 else if (position.Y < Main.player[target].position.Y - (float)num1054)
28126 {
28127 if (velocity.Y < 0f)
28128 {
28129 velocity.Y *= 0.98f;
28130 }
28131 velocity.Y += num1047;
28132 if (velocity.Y < 0f - num1048)
28133 {
28134 velocity.Y = 0f - num1048;
28135 }
28136 }
28137 if (position.X + (float)(width / 2) > Main.player[target].position.X + (float)(Main.player[target].width / 2) + 100f + num1055)
28138 {
28139 if (velocity.X > 0f)
28140 {
28141 velocity.X *= 0.98f;
28142 }
28143 velocity.X -= num1049;
28144 if (velocity.X > num1050)
28145 {
28146 velocity.X = num1050;
28147 }
28148 }
28149 if (position.X + (float)(width / 2) < Main.player[target].position.X + (float)(Main.player[target].width / 2) - 100f + num1055)
28150 {
28151 if (velocity.X < 0f)
28152 {
28153 velocity.X *= 0.98f;
28154 }
28155 velocity.X += num1049;
28156 if (velocity.X < 0f - num1050)
28157 {
28158 velocity.X = 0f - num1050;
28159 }
28160 }
28161 }
28162 else if (this.ai[1] == 1f)
28163 {
28164 defense *= 2;
28165 damage *= 2;
28166 this.ai[2] += 1f;
28167 if (this.ai[2] == 2f)
28168 {
28169 SoundEngine.PlaySound(15, (int)position.X, (int)position.Y, 0);
28170 }
28171 if (this.ai[2] >= 400f)
28172 {
28173 this.ai[2] = 0f;
28174 this.ai[1] = 0f;
28175 }
28176 if (IsMechQueenUp)
28177 {
28178 rotation = rotation.AngleLerp(velocity.X / 15f * 0.5f, 0.75f);
28179 }
28180 else
28181 {
28182 rotation += (float)direction * 0.3f;
28183 }
28184 Vector2 vector268 = default(Vector2);
28185 ((Vector2)(ref vector268))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
28186 float num1057 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector268.X;
28187 float num1058 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector268.Y;
28188 float num1059 = (float)Math.Sqrt(num1057 * num1057 + num1058 * num1058);
28189 float num1060 = 2f;
28190 if (Main.expertMode)
28191 {
28192 num1060 = 6f;
28193 if (num1059 > 150f)
28194 {
28195 num1060 *= 1.05f;
28196 }
28197 if (num1059 > 200f)
28198 {
28199 num1060 *= 1.1f;
28200 }
28201 if (num1059 > 250f)
28202 {
28203 num1060 *= 1.1f;
28204 }
28205 if (num1059 > 300f)
28206 {
28207 num1060 *= 1.1f;
28208 }
28209 if (num1059 > 350f)
28210 {
28211 num1060 *= 1.1f;
28212 }
28213 if (num1059 > 400f)
28214 {
28215 num1060 *= 1.1f;
28216 }
28217 if (num1059 > 450f)
28218 {
28219 num1060 *= 1.1f;
28220 }
28221 if (num1059 > 500f)
28222 {
28223 num1060 *= 1.1f;
28224 }
28225 if (num1059 > 550f)
28226 {
28227 num1060 *= 1.1f;
28228 }
28229 if (num1059 > 600f)
28230 {
28231 num1060 *= 1.1f;
28232 }
28233 }
28234 if (IsMechQueenUp)
28235 {
28236 float num1061 = (npcsFoundForCheckActive[135] ? 0.6f : 0.75f);
28237 num1060 *= num1061;
28238 }
28240 velocity.X = num1057 * num1059;
28241 velocity.Y = num1058 * num1059;
28242 if (IsMechQueenUp)
28243 {
28244 float num1062 = Vector2.Distance(base.Center, Main.player[target].Center);
28245 if (num1062 < 0.1f)
28246 {
28247 num1062 = 0f;
28248 }
28249 if (num1062 < num1060)
28250 {
28251 velocity = velocity.SafeNormalize(Vector2.Zero) * num1062;
28252 }
28253 }
28254 }
28255 else if (this.ai[1] == 2f)
28256 {
28257 damage = 1000;
28258 defense = 9999;
28259 if (IsMechQueenUp)
28260 {
28261 rotation = rotation.AngleLerp(velocity.X / 15f * 0.5f, 0.75f);
28262 }
28263 else
28264 {
28265 rotation += (float)direction * 0.3f;
28266 }
28267 Vector2 vector269 = default(Vector2);
28268 ((Vector2)(ref vector269))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
28269 float num1064 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector269.X;
28270 float num1065 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector269.Y;
28271 float num1066 = (float)Math.Sqrt(num1064 * num1064 + num1065 * num1065);
28272 float num1067 = 10f;
28273 num1067 += num1066 / 100f;
28274 if (num1067 < 8f)
28275 {
28276 num1067 = 8f;
28277 }
28278 if (num1067 > 32f)
28279 {
28280 num1067 = 32f;
28281 }
28283 velocity.X = num1064 * num1066;
28284 velocity.Y = num1065 * num1066;
28285 }
28286 else
28287 {
28288 if (this.ai[1] != 3f)
28289 {
28290 return;
28291 }
28292 if (IsMechQueenUp)
28293 {
28294 int num1068 = FindFirstNPC(125);
28295 if (num1068 >= 0)
28296 {
28297 Main.npc[num1068].EncourageDespawn(5);
28298 }
28299 num1068 = FindFirstNPC(126);
28300 if (num1068 >= 0)
28301 {
28302 Main.npc[num1068].EncourageDespawn(5);
28303 }
28304 if (!AnyNPCs(125) && !AnyNPCs(126))
28305 {
28306 num1068 = FindFirstNPC(134);
28307 if (num1068 >= 0)
28308 {
28309 Main.npc[num1068].Transform(136);
28310 }
28312 }
28313 velocity.Y += 0.1f;
28314 if (velocity.Y < 0f)
28315 {
28316 velocity.Y *= 0.95f;
28317 }
28318 velocity.X *= 0.95f;
28319 if (velocity.Y > 13f)
28320 {
28321 velocity.Y = 13f;
28322 }
28323 }
28324 else
28325 {
28326 EncourageDespawn(500);
28327 velocity.Y += 0.1f;
28328 if (velocity.Y < 0f)
28329 {
28330 velocity.Y *= 0.95f;
28331 }
28332 velocity.X *= 0.95f;
28333 }
28334 }
28335 }
28336 else if (aiStyle == 33)
28337 {
28338 Vector2 vector270 = default(Vector2);
28339 ((Vector2)(ref vector270))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
28340 float num1069 = Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 200f * this.ai[0] - vector270.X;
28341 float num1070 = Main.npc[(int)this.ai[1]].position.Y + 230f - vector270.Y;
28342 float num1071 = (float)Math.Sqrt(num1069 * num1069 + num1070 * num1070);
28343 if (this.ai[2] != 99f)
28344 {
28345 if (num1071 > 800f)
28346 {
28347 this.ai[2] = 99f;
28348 }
28349 }
28350 else if (num1071 < 400f)
28351 {
28352 this.ai[2] = 0f;
28353 }
28354 spriteDirection = -(int)this.ai[0];
28355 if (!Main.npc[(int)this.ai[1]].active || Main.npc[(int)this.ai[1]].aiStyle != 32)
28356 {
28357 this.ai[2] += 10f;
28358 if (this.ai[2] > 50f || Main.netMode != 2)
28359 {
28360 life = -1;
28361 HitEffect();
28362 active = false;
28363 }
28364 }
28365 if (this.ai[2] == 99f)
28366 {
28367 if (position.Y > Main.npc[(int)this.ai[1]].position.Y)
28368 {
28369 if (velocity.Y > 0f)
28370 {
28371 velocity.Y *= 0.96f;
28372 }
28373 velocity.Y -= 0.1f;
28374 if (velocity.Y > 8f)
28375 {
28376 velocity.Y = 8f;
28377 }
28378 }
28379 else if (position.Y < Main.npc[(int)this.ai[1]].position.Y)
28380 {
28381 if (velocity.Y < 0f)
28382 {
28383 velocity.Y *= 0.96f;
28384 }
28385 velocity.Y += 0.1f;
28386 if (velocity.Y < -8f)
28387 {
28388 velocity.Y = -8f;
28389 }
28390 }
28391 if (position.X + (float)(width / 2) > Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2))
28392 {
28393 if (velocity.X > 0f)
28394 {
28395 velocity.X *= 0.96f;
28396 }
28397 velocity.X -= 0.5f;
28398 if (velocity.X > 12f)
28399 {
28400 velocity.X = 12f;
28401 }
28402 }
28403 if (position.X + (float)(width / 2) < Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2))
28404 {
28405 if (velocity.X < 0f)
28406 {
28407 velocity.X *= 0.96f;
28408 }
28409 velocity.X += 0.5f;
28410 if (velocity.X < -12f)
28411 {
28412 velocity.X = -12f;
28413 }
28414 }
28415 }
28416 else if (this.ai[2] == 0f || this.ai[2] == 3f)
28417 {
28418 if (Main.npc[(int)this.ai[1]].ai[1] == 3f)
28419 {
28420 EncourageDespawn(10);
28421 }
28422 if (Main.npc[(int)this.ai[1]].ai[1] != 0f)
28423 {
28424 TargetClosest();
28425 if (Main.player[target].dead)
28426 {
28427 velocity.Y += 0.1f;
28428 if (velocity.Y > 16f)
28429 {
28430 velocity.Y = 16f;
28431 }
28432 }
28433 else
28434 {
28435 Vector2 vector271 = default(Vector2);
28436 ((Vector2)(ref vector271))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
28437 float num1072 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector271.X;
28438 float num1073 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector271.Y;
28439 float num1075 = (float)Math.Sqrt(num1072 * num1072 + num1073 * num1073);
28440 num1075 = 7f / num1075;
28441 num1072 *= num1075;
28442 num1073 *= num1075;
28443 rotation = (float)Math.Atan2(num1073, num1072) - 1.57f;
28444 if (velocity.X > num1072)
28445 {
28446 if (velocity.X > 0f)
28447 {
28448 velocity.X *= 0.97f;
28449 }
28450 velocity.X -= 0.05f;
28451 }
28452 if (velocity.X < num1072)
28453 {
28454 if (velocity.X < 0f)
28455 {
28456 velocity.X *= 0.97f;
28457 }
28458 velocity.X += 0.05f;
28459 }
28460 if (velocity.Y > num1073)
28461 {
28462 if (velocity.Y > 0f)
28463 {
28464 velocity.Y *= 0.97f;
28465 }
28466 velocity.Y -= 0.05f;
28467 }
28468 if (velocity.Y < num1073)
28469 {
28470 if (velocity.Y < 0f)
28471 {
28472 velocity.Y *= 0.97f;
28473 }
28474 velocity.Y += 0.05f;
28475 }
28476 }
28477 this.ai[3] += 1f;
28478 if (this.ai[3] >= 600f)
28479 {
28480 this.ai[2] = 0f;
28481 this.ai[3] = 0f;
28482 netUpdate = true;
28483 }
28484 }
28485 else
28486 {
28487 this.ai[3] += 1f;
28488 if (this.ai[3] >= 300f)
28489 {
28490 this.ai[2] += 1f;
28491 this.ai[3] = 0f;
28492 netUpdate = true;
28493 }
28494 if (position.Y > Main.npc[(int)this.ai[1]].position.Y + 320f)
28495 {
28496 if (velocity.Y > 0f)
28497 {
28498 velocity.Y *= 0.96f;
28499 }
28500 velocity.Y -= 0.04f;
28501 if (velocity.Y > 3f)
28502 {
28503 velocity.Y = 3f;
28504 }
28505 }
28506 else if (position.Y < Main.npc[(int)this.ai[1]].position.Y + 260f)
28507 {
28508 if (velocity.Y < 0f)
28509 {
28510 velocity.Y *= 0.96f;
28511 }
28512 velocity.Y += 0.04f;
28513 if (velocity.Y < -3f)
28514 {
28515 velocity.Y = -3f;
28516 }
28517 }
28518 if (position.X + (float)(width / 2) > Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2))
28519 {
28520 if (velocity.X > 0f)
28521 {
28522 velocity.X *= 0.96f;
28523 }
28524 velocity.X -= 0.3f;
28525 if (velocity.X > 12f)
28526 {
28527 velocity.X = 12f;
28528 }
28529 }
28530 if (position.X + (float)(width / 2) < Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 250f)
28531 {
28532 if (velocity.X < 0f)
28533 {
28534 velocity.X *= 0.96f;
28535 }
28536 velocity.X += 0.3f;
28537 if (velocity.X < -12f)
28538 {
28539 velocity.X = -12f;
28540 }
28541 }
28542 }
28543 Vector2 vector272 = default(Vector2);
28544 ((Vector2)(ref vector272))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
28545 float num1076 = Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 200f * this.ai[0] - vector272.X;
28546 float num1077 = Main.npc[(int)this.ai[1]].position.Y + 230f - vector272.Y;
28547 float num1078 = (float)Math.Sqrt(num1076 * num1076 + num1077 * num1077);
28548 rotation = (float)Math.Atan2(num1077, num1076) + 1.57f;
28549 }
28550 else if (this.ai[2] == 1f)
28551 {
28552 Vector2 vector273 = default(Vector2);
28553 ((Vector2)(ref vector273))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
28554 float num1079 = Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 200f * this.ai[0] - vector273.X;
28555 float num1080 = Main.npc[(int)this.ai[1]].position.Y + 230f - vector273.Y;
28556 float num1081 = (float)Math.Sqrt(num1079 * num1079 + num1080 * num1080);
28557 rotation = (float)Math.Atan2(num1080, num1079) + 1.57f;
28558 velocity.X *= 0.95f;
28559 velocity.Y -= 0.1f;
28560 if (velocity.Y < -8f)
28561 {
28562 velocity.Y = -8f;
28563 }
28564 if (position.Y < Main.npc[(int)this.ai[1]].position.Y - 200f)
28565 {
28566 TargetClosest();
28567 this.ai[2] = 2f;
28568 ((Vector2)(ref vector273))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
28569 num1079 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector273.X;
28570 num1080 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector273.Y;
28571 num1081 = (float)Math.Sqrt(num1079 * num1079 + num1080 * num1080);
28572 num1081 = 22f / num1081;
28573 velocity.X = num1079 * num1081;
28574 velocity.Y = num1080 * num1081;
28575 netUpdate = true;
28576 }
28577 }
28578 else if (this.ai[2] == 2f)
28579 {
28580 if (position.Y > Main.player[target].position.Y || velocity.Y < 0f)
28581 {
28582 this.ai[2] = 3f;
28583 }
28584 }
28585 else if (this.ai[2] == 4f)
28586 {
28587 TargetClosest();
28588 Vector2 vector275 = default(Vector2);
28589 ((Vector2)(ref vector275))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
28590 float num1082 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector275.X;
28591 float num1083 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector275.Y;
28592 float num1084 = (float)Math.Sqrt(num1082 * num1082 + num1083 * num1083);
28593 num1084 = 7f / num1084;
28594 num1082 *= num1084;
28595 num1083 *= num1084;
28596 if (velocity.X > num1082)
28597 {
28598 if (velocity.X > 0f)
28599 {
28600 velocity.X *= 0.97f;
28601 }
28602 velocity.X -= 0.05f;
28603 }
28604 if (velocity.X < num1082)
28605 {
28606 if (velocity.X < 0f)
28607 {
28608 velocity.X *= 0.97f;
28609 }
28610 velocity.X += 0.05f;
28611 }
28612 if (velocity.Y > num1083)
28613 {
28614 if (velocity.Y > 0f)
28615 {
28616 velocity.Y *= 0.97f;
28617 }
28618 velocity.Y -= 0.05f;
28619 }
28620 if (velocity.Y < num1083)
28621 {
28622 if (velocity.Y < 0f)
28623 {
28624 velocity.Y *= 0.97f;
28625 }
28626 velocity.Y += 0.05f;
28627 }
28628 this.ai[3] += 1f;
28629 if (this.ai[3] >= 600f)
28630 {
28631 this.ai[2] = 0f;
28632 this.ai[3] = 0f;
28633 netUpdate = true;
28634 }
28635 ((Vector2)(ref vector275))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
28636 num1082 = Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 200f * this.ai[0] - vector275.X;
28637 num1083 = Main.npc[(int)this.ai[1]].position.Y + 230f - vector275.Y;
28638 num1084 = (float)Math.Sqrt(num1082 * num1082 + num1083 * num1083);
28639 rotation = (float)Math.Atan2(num1083, num1082) + 1.57f;
28640 }
28641 else if (this.ai[2] == 5f && ((velocity.X > 0f && position.X + (float)(width / 2) > Main.player[target].position.X + (float)(Main.player[target].width / 2)) || (velocity.X < 0f && position.X + (float)(width / 2) < Main.player[target].position.X + (float)(Main.player[target].width / 2))))
28642 {
28643 this.ai[2] = 0f;
28644 }
28645 }
28646 else if (aiStyle == 34)
28647 {
28648 spriteDirection = -(int)this.ai[0];
28649 Vector2 vector276 = default(Vector2);
28650 ((Vector2)(ref vector276))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
28651 float num1086 = Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 200f * this.ai[0] - vector276.X;
28652 float num1087 = Main.npc[(int)this.ai[1]].position.Y + 230f - vector276.Y;
28653 float num1088 = (float)Math.Sqrt(num1086 * num1086 + num1087 * num1087);
28654 if (this.ai[2] != 99f)
28655 {
28656 if (num1088 > 800f)
28657 {
28658 this.ai[2] = 99f;
28659 }
28660 }
28661 else if (num1088 < 400f)
28662 {
28663 this.ai[2] = 0f;
28664 }
28665 if (!Main.npc[(int)this.ai[1]].active || Main.npc[(int)this.ai[1]].aiStyle != 32)
28666 {
28667 this.ai[2] += 10f;
28668 if (this.ai[2] > 50f || Main.netMode != 2)
28669 {
28670 life = -1;
28671 HitEffect();
28672 active = false;
28673 }
28674 }
28675 if (this.ai[2] == 99f)
28676 {
28677 if (position.Y > Main.npc[(int)this.ai[1]].position.Y)
28678 {
28679 if (velocity.Y > 0f)
28680 {
28681 velocity.Y *= 0.96f;
28682 }
28683 velocity.Y -= 0.1f;
28684 if (velocity.Y > 8f)
28685 {
28686 velocity.Y = 8f;
28687 }
28688 }
28689 else if (position.Y < Main.npc[(int)this.ai[1]].position.Y)
28690 {
28691 if (velocity.Y < 0f)
28692 {
28693 velocity.Y *= 0.96f;
28694 }
28695 velocity.Y += 0.1f;
28696 if (velocity.Y < -8f)
28697 {
28698 velocity.Y = -8f;
28699 }
28700 }
28701 if (position.X + (float)(width / 2) > Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2))
28702 {
28703 if (velocity.X > 0f)
28704 {
28705 velocity.X *= 0.96f;
28706 }
28707 velocity.X -= 0.5f;
28708 if (velocity.X > 12f)
28709 {
28710 velocity.X = 12f;
28711 }
28712 }
28713 if (position.X + (float)(width / 2) < Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2))
28714 {
28715 if (velocity.X < 0f)
28716 {
28717 velocity.X *= 0.96f;
28718 }
28719 velocity.X += 0.5f;
28720 if (velocity.X < -12f)
28721 {
28722 velocity.X = -12f;
28723 }
28724 }
28725 }
28726 else if (this.ai[2] == 0f || this.ai[2] == 3f)
28727 {
28728 if (Main.npc[(int)this.ai[1]].ai[1] == 3f)
28729 {
28730 EncourageDespawn(10);
28731 }
28732 if (Main.npc[(int)this.ai[1]].ai[1] != 0f)
28733 {
28734 TargetClosest();
28735 TargetClosest();
28736 if (Main.player[target].dead)
28737 {
28738 velocity.Y += 0.1f;
28739 if (velocity.Y > 16f)
28740 {
28741 velocity.Y = 16f;
28742 }
28743 }
28744 else
28745 {
28746 Vector2 vector277 = default(Vector2);
28747 ((Vector2)(ref vector277))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
28748 float num1089 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector277.X;
28749 float num1090 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector277.Y;
28750 float num1091 = (float)Math.Sqrt(num1089 * num1089 + num1090 * num1090);
28751 num1091 = 12f / num1091;
28752 num1089 *= num1091;
28753 num1090 *= num1091;
28754 rotation = (float)Math.Atan2(num1090, num1089) - 1.57f;
28755 if (Math.Abs(velocity.X) + Math.Abs(velocity.Y) < 2f)
28756 {
28757 rotation = (float)Math.Atan2(num1090, num1089) - 1.57f;
28758 velocity.X = num1089;
28759 velocity.Y = num1090;
28760 netUpdate = true;
28761 }
28762 else
28763 {
28764 velocity *= 0.97f;
28765 }
28766 this.ai[3] += 1f;
28767 if (this.ai[3] >= 600f)
28768 {
28769 this.ai[2] = 0f;
28770 this.ai[3] = 0f;
28771 netUpdate = true;
28772 }
28773 }
28774 }
28775 else
28776 {
28777 this.ai[3] += 1f;
28778 if (this.ai[3] >= 600f)
28779 {
28780 this.ai[2] += 1f;
28781 this.ai[3] = 0f;
28782 netUpdate = true;
28783 }
28784 if (position.Y > Main.npc[(int)this.ai[1]].position.Y + 300f)
28785 {
28786 if (velocity.Y > 0f)
28787 {
28788 velocity.Y *= 0.96f;
28789 }
28790 velocity.Y -= 0.1f;
28791 if (velocity.Y > 3f)
28792 {
28793 velocity.Y = 3f;
28794 }
28795 }
28796 else if (position.Y < Main.npc[(int)this.ai[1]].position.Y + 230f)
28797 {
28798 if (velocity.Y < 0f)
28799 {
28800 velocity.Y *= 0.96f;
28801 }
28802 velocity.Y += 0.1f;
28803 if (velocity.Y < -3f)
28804 {
28805 velocity.Y = -3f;
28806 }
28807 }
28808 if (position.X + (float)(width / 2) > Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) + 250f)
28809 {
28810 if (velocity.X > 0f)
28811 {
28812 velocity.X *= 0.94f;
28813 }
28814 velocity.X -= 0.3f;
28815 if (velocity.X > 9f)
28816 {
28817 velocity.X = 9f;
28818 }
28819 }
28820 if (position.X + (float)(width / 2) < Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2))
28821 {
28822 if (velocity.X < 0f)
28823 {
28824 velocity.X *= 0.94f;
28825 }
28826 velocity.X += 0.2f;
28827 if (velocity.X < -8f)
28828 {
28829 velocity.X = -8f;
28830 }
28831 }
28832 }
28833 Vector2 vector278 = default(Vector2);
28834 ((Vector2)(ref vector278))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
28835 float num1092 = Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 200f * this.ai[0] - vector278.X;
28836 float num1093 = Main.npc[(int)this.ai[1]].position.Y + 230f - vector278.Y;
28837 float num1094 = (float)Math.Sqrt(num1092 * num1092 + num1093 * num1093);
28838 rotation = (float)Math.Atan2(num1093, num1092) + 1.57f;
28839 }
28840 else if (this.ai[2] == 1f)
28841 {
28842 if (velocity.Y > 0f)
28843 {
28844 velocity.Y *= 0.9f;
28845 }
28846 Vector2 vector279 = default(Vector2);
28847 ((Vector2)(ref vector279))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
28848 float num1095 = Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 280f * this.ai[0] - vector279.X;
28849 float num1097 = Main.npc[(int)this.ai[1]].position.Y + 230f - vector279.Y;
28850 float num1098 = (float)Math.Sqrt(num1095 * num1095 + num1097 * num1097);
28851 rotation = (float)Math.Atan2(num1097, num1095) + 1.57f;
28852 velocity.X = (velocity.X * 5f + Main.npc[(int)this.ai[1]].velocity.X) / 6f;
28853 velocity.X += 0.5f;
28854 velocity.Y -= 0.5f;
28855 if (velocity.Y < -9f)
28856 {
28857 velocity.Y = -9f;
28858 }
28859 if (position.Y < Main.npc[(int)this.ai[1]].position.Y - 280f)
28860 {
28861 TargetClosest();
28862 this.ai[2] = 2f;
28863 ((Vector2)(ref vector279))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
28864 num1095 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector279.X;
28865 num1097 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector279.Y;
28866 num1098 = (float)Math.Sqrt(num1095 * num1095 + num1097 * num1097);
28867 num1098 = 20f / num1098;
28868 velocity.X = num1095 * num1098;
28869 velocity.Y = num1097 * num1098;
28870 netUpdate = true;
28871 }
28872 }
28873 else if (this.ai[2] == 2f)
28874 {
28875 if (position.Y > Main.player[target].position.Y || velocity.Y < 0f)
28876 {
28877 if (this.ai[3] >= 4f)
28878 {
28879 this.ai[2] = 3f;
28880 this.ai[3] = 0f;
28881 }
28882 else
28883 {
28884 this.ai[2] = 1f;
28885 this.ai[3] += 1f;
28886 }
28887 }
28888 }
28889 else if (this.ai[2] == 4f)
28890 {
28891 Vector2 vector280 = default(Vector2);
28892 ((Vector2)(ref vector280))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
28893 float num1099 = Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 200f * this.ai[0] - vector280.X;
28894 float num1100 = Main.npc[(int)this.ai[1]].position.Y + 230f - vector280.Y;
28895 float num1101 = (float)Math.Sqrt(num1099 * num1099 + num1100 * num1100);
28896 rotation = (float)Math.Atan2(num1100, num1099) + 1.57f;
28897 velocity.Y = (velocity.Y * 5f + Main.npc[(int)this.ai[1]].velocity.Y) / 6f;
28898 velocity.X += 0.5f;
28899 if (velocity.X > 12f)
28900 {
28901 velocity.X = 12f;
28902 }
28903 if (position.X + (float)(width / 2) < Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 500f || position.X + (float)(width / 2) > Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) + 500f)
28904 {
28905 TargetClosest();
28906 this.ai[2] = 5f;
28907 ((Vector2)(ref vector280))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
28908 num1099 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector280.X;
28909 num1100 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector280.Y;
28910 num1101 = (float)Math.Sqrt(num1099 * num1099 + num1100 * num1100);
28911 num1101 = 17f / num1101;
28912 velocity.X = num1099 * num1101;
28913 velocity.Y = num1100 * num1101;
28914 netUpdate = true;
28915 }
28916 }
28917 else if (this.ai[2] == 5f && position.X + (float)(width / 2) < Main.player[target].position.X + (float)(Main.player[target].width / 2) - 100f)
28918 {
28919 if (this.ai[3] >= 4f)
28920 {
28921 this.ai[2] = 0f;
28922 this.ai[3] = 0f;
28923 }
28924 else
28925 {
28926 this.ai[2] = 4f;
28927 this.ai[3] += 1f;
28928 }
28929 }
28930 }
28931 else if (aiStyle == 35)
28932 {
28933 spriteDirection = -(int)this.ai[0];
28934 if (!Main.npc[(int)this.ai[1]].active || Main.npc[(int)this.ai[1]].aiStyle != 32)
28935 {
28936 this.ai[2] += 10f;
28937 if (this.ai[2] > 50f || Main.netMode != 2)
28938 {
28939 life = -1;
28940 HitEffect();
28941 active = false;
28942 }
28943 }
28944 if (this.ai[2] == 0f)
28945 {
28946 if (Main.npc[(int)this.ai[1]].ai[1] == 3f)
28947 {
28948 EncourageDespawn(10);
28949 }
28950 if (Main.npc[(int)this.ai[1]].ai[1] != 0f)
28951 {
28952 localAI[0] += 2f;
28953 if (position.Y > Main.npc[(int)this.ai[1]].position.Y - 100f)
28954 {
28955 if (velocity.Y > 0f)
28956 {
28957 velocity.Y *= 0.96f;
28958 }
28959 velocity.Y -= 0.07f;
28960 if (velocity.Y > 6f)
28961 {
28962 velocity.Y = 6f;
28963 }
28964 }
28965 else if (position.Y < Main.npc[(int)this.ai[1]].position.Y - 100f)
28966 {
28967 if (velocity.Y < 0f)
28968 {
28969 velocity.Y *= 0.96f;
28970 }
28971 velocity.Y += 0.07f;
28972 if (velocity.Y < -6f)
28973 {
28974 velocity.Y = -6f;
28975 }
28976 }
28977 if (position.X + (float)(width / 2) > Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 120f * this.ai[0])
28978 {
28979 if (velocity.X > 0f)
28980 {
28981 velocity.X *= 0.96f;
28982 }
28983 velocity.X -= 0.1f;
28984 if (velocity.X > 8f)
28985 {
28986 velocity.X = 8f;
28987 }
28988 }
28989 if (position.X + (float)(width / 2) < Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 120f * this.ai[0])
28990 {
28991 if (velocity.X < 0f)
28992 {
28993 velocity.X *= 0.96f;
28994 }
28995 velocity.X += 0.1f;
28996 if (velocity.X < -8f)
28997 {
28998 velocity.X = -8f;
28999 }
29000 }
29001 }
29002 else
29003 {
29004 this.ai[3] += 1f;
29005 if (this.ai[3] >= 1100f)
29006 {
29007 localAI[0] = 0f;
29008 this.ai[2] = 1f;
29009 this.ai[3] = 0f;
29010 netUpdate = true;
29011 }
29012 if (position.Y > Main.npc[(int)this.ai[1]].position.Y - 150f)
29013 {
29014 if (velocity.Y > 0f)
29015 {
29016 velocity.Y *= 0.96f;
29017 }
29018 velocity.Y -= 0.04f;
29019 if (velocity.Y > 3f)
29020 {
29021 velocity.Y = 3f;
29022 }
29023 }
29024 else if (position.Y < Main.npc[(int)this.ai[1]].position.Y - 150f)
29025 {
29026 if (velocity.Y < 0f)
29027 {
29028 velocity.Y *= 0.96f;
29029 }
29030 velocity.Y += 0.04f;
29031 if (velocity.Y < -3f)
29032 {
29033 velocity.Y = -3f;
29034 }
29035 }
29036 if (position.X + (float)(width / 2) > Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) + 200f)
29037 {
29038 if (velocity.X > 0f)
29039 {
29040 velocity.X *= 0.96f;
29041 }
29042 velocity.X -= 0.2f;
29043 if (velocity.X > 8f)
29044 {
29045 velocity.X = 8f;
29046 }
29047 }
29048 if (position.X + (float)(width / 2) < Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) + 160f)
29049 {
29050 if (velocity.X < 0f)
29051 {
29052 velocity.X *= 0.96f;
29053 }
29054 velocity.X += 0.2f;
29055 if (velocity.X < -8f)
29056 {
29057 velocity.X = -8f;
29058 }
29059 }
29060 }
29061 Vector2 vector281 = default(Vector2);
29062 ((Vector2)(ref vector281))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
29063 float num1102 = Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 200f * this.ai[0] - vector281.X;
29064 float num1103 = Main.npc[(int)this.ai[1]].position.Y + 230f - vector281.Y;
29065 float num1104 = (float)Math.Sqrt(num1102 * num1102 + num1103 * num1103);
29066 rotation = (float)Math.Atan2(num1103, num1102) + 1.57f;
29067 if (Main.netMode != 1)
29068 {
29069 localAI[0] += 1f;
29070 if (localAI[0] > 140f)
29071 {
29072 localAI[0] = 0f;
29073 float num1105 = 12f;
29074 int num1106 = 0;
29075 int num1108 = 102;
29077 num1102 = (0f - num1102) * num1104;
29078 num1103 = (0f - num1103) * num1104;
29079 num1102 += (float)Main.rand.Next(-40, 41) * 0.01f;
29080 num1103 += (float)Main.rand.Next(-40, 41) * 0.01f;
29081 vector281.X += num1102 * 4f;
29082 vector281.Y += num1103 * 4f;
29083 int num1109 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector281.X, vector281.Y, num1102, num1103, num1108, num1106, 0f, Main.myPlayer);
29084 }
29085 }
29086 }
29087 else
29088 {
29089 if (this.ai[2] != 1f)
29090 {
29091 return;
29092 }
29093 this.ai[3] += 1f;
29094 if (this.ai[3] >= 300f)
29095 {
29096 localAI[0] = 0f;
29097 this.ai[2] = 0f;
29098 this.ai[3] = 0f;
29099 netUpdate = true;
29100 }
29101 Vector2 vector282 = default(Vector2);
29102 ((Vector2)(ref vector282))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
29103 float num1110 = Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - vector282.X;
29104 float num1111 = Main.npc[(int)this.ai[1]].position.Y - vector282.Y;
29105 num1111 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - 80f - vector282.Y;
29106 float num1112 = (float)Math.Sqrt(num1110 * num1110 + num1111 * num1111);
29107 num1112 = 6f / num1112;
29108 num1110 *= num1112;
29109 num1111 *= num1112;
29110 if (velocity.X > num1110)
29111 {
29112 if (velocity.X > 0f)
29113 {
29114 velocity.X *= 0.9f;
29115 }
29116 velocity.X -= 0.04f;
29117 }
29118 if (velocity.X < num1110)
29119 {
29120 if (velocity.X < 0f)
29121 {
29122 velocity.X *= 0.9f;
29123 }
29124 velocity.X += 0.04f;
29125 }
29126 if (velocity.Y > num1111)
29127 {
29128 if (velocity.Y > 0f)
29129 {
29130 velocity.Y *= 0.9f;
29131 }
29132 velocity.Y -= 0.08f;
29133 }
29134 if (velocity.Y < num1111)
29135 {
29136 if (velocity.Y < 0f)
29137 {
29138 velocity.Y *= 0.9f;
29139 }
29140 velocity.Y += 0.08f;
29141 }
29142 TargetClosest();
29143 ((Vector2)(ref vector282))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
29144 num1110 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector282.X;
29145 num1111 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector282.Y;
29146 num1112 = (float)Math.Sqrt(num1110 * num1110 + num1111 * num1111);
29147 rotation = (float)Math.Atan2(num1111, num1110) - 1.57f;
29148 if (Main.netMode != 1)
29149 {
29150 localAI[0] += 1f;
29151 if (localAI[0] > 40f)
29152 {
29153 localAI[0] = 0f;
29154 float num1113 = 10f;
29155 int num1114 = 0;
29156 int num1115 = 102;
29158 num1110 *= num1112;
29159 num1111 *= num1112;
29160 num1110 += (float)Main.rand.Next(-40, 41) * 0.01f;
29161 num1111 += (float)Main.rand.Next(-40, 41) * 0.01f;
29162 vector282.X += num1110 * 4f;
29163 vector282.Y += num1111 * 4f;
29164 int num1116 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector282.X, vector282.Y, num1110, num1111, num1115, num1114, 0f, Main.myPlayer);
29165 }
29166 }
29167 }
29168 }
29169 else if (aiStyle == 36)
29170 {
29171 spriteDirection = -(int)this.ai[0];
29172 if (!Main.npc[(int)this.ai[1]].active || Main.npc[(int)this.ai[1]].aiStyle != 32)
29173 {
29174 this.ai[2] += 10f;
29175 if (this.ai[2] > 50f || Main.netMode != 2)
29176 {
29177 life = -1;
29178 HitEffect();
29179 active = false;
29180 }
29181 }
29182 if (this.ai[2] == 0f || this.ai[2] == 3f)
29183 {
29184 if (Main.npc[(int)this.ai[1]].ai[1] == 3f)
29185 {
29186 EncourageDespawn(10);
29187 }
29188 if (Main.npc[(int)this.ai[1]].ai[1] != 0f)
29189 {
29190 localAI[0] += 3f;
29191 if (position.Y > Main.npc[(int)this.ai[1]].position.Y - 100f)
29192 {
29193 if (velocity.Y > 0f)
29194 {
29195 velocity.Y *= 0.96f;
29196 }
29197 velocity.Y -= 0.07f;
29198 if (velocity.Y > 6f)
29199 {
29200 velocity.Y = 6f;
29201 }
29202 }
29203 else if (position.Y < Main.npc[(int)this.ai[1]].position.Y - 100f)
29204 {
29205 if (velocity.Y < 0f)
29206 {
29207 velocity.Y *= 0.96f;
29208 }
29209 velocity.Y += 0.07f;
29210 if (velocity.Y < -6f)
29211 {
29212 velocity.Y = -6f;
29213 }
29214 }
29215 if (position.X + (float)(width / 2) > Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 120f * this.ai[0])
29216 {
29217 if (velocity.X > 0f)
29218 {
29219 velocity.X *= 0.96f;
29220 }
29221 velocity.X -= 0.1f;
29222 if (velocity.X > 8f)
29223 {
29224 velocity.X = 8f;
29225 }
29226 }
29227 if (position.X + (float)(width / 2) < Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 120f * this.ai[0])
29228 {
29229 if (velocity.X < 0f)
29230 {
29231 velocity.X *= 0.96f;
29232 }
29233 velocity.X += 0.1f;
29234 if (velocity.X < -8f)
29235 {
29236 velocity.X = -8f;
29237 }
29238 }
29239 }
29240 else
29241 {
29242 this.ai[3] += 1f;
29243 if (this.ai[3] >= 800f)
29244 {
29245 this.ai[2] += 1f;
29246 this.ai[3] = 0f;
29247 netUpdate = true;
29248 }
29249 if (position.Y > Main.npc[(int)this.ai[1]].position.Y - 100f)
29250 {
29251 if (velocity.Y > 0f)
29252 {
29253 velocity.Y *= 0.96f;
29254 }
29255 velocity.Y -= 0.1f;
29256 if (velocity.Y > 3f)
29257 {
29258 velocity.Y = 3f;
29259 }
29260 }
29261 else if (position.Y < Main.npc[(int)this.ai[1]].position.Y - 100f)
29262 {
29263 if (velocity.Y < 0f)
29264 {
29265 velocity.Y *= 0.96f;
29266 }
29267 velocity.Y += 0.1f;
29268 if (velocity.Y < -3f)
29269 {
29270 velocity.Y = -3f;
29271 }
29272 }
29273 if (position.X + (float)(width / 2) > Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 180f * this.ai[0])
29274 {
29275 if (velocity.X > 0f)
29276 {
29277 velocity.X *= 0.96f;
29278 }
29279 velocity.X -= 0.14f;
29280 if (velocity.X > 8f)
29281 {
29282 velocity.X = 8f;
29283 }
29284 }
29285 if (position.X + (float)(width / 2) < Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 180f * this.ai[0])
29286 {
29287 if (velocity.X < 0f)
29288 {
29289 velocity.X *= 0.96f;
29290 }
29291 velocity.X += 0.14f;
29292 if (velocity.X < -8f)
29293 {
29294 velocity.X = -8f;
29295 }
29296 }
29297 }
29298 TargetClosest();
29299 Vector2 vector283 = default(Vector2);
29300 ((Vector2)(ref vector283))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
29301 float num1117 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector283.X;
29302 float num1119 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector283.Y;
29303 float num1120 = (float)Math.Sqrt(num1117 * num1117 + num1119 * num1119);
29304 rotation = (float)Math.Atan2(num1119, num1117) - 1.57f;
29305 if (Main.netMode != 1)
29306 {
29307 localAI[0] += 1f;
29308 if (localAI[0] > 200f)
29309 {
29310 localAI[0] = 0f;
29311 float num1121 = 8f;
29312 int num1122 = 25;
29313 int num1123 = 100;
29315 num1117 *= num1120;
29316 num1119 *= num1120;
29317 num1117 += (float)Main.rand.Next(-40, 41) * 0.05f;
29318 num1119 += (float)Main.rand.Next(-40, 41) * 0.05f;
29319 vector283.X += num1117 * 8f;
29320 vector283.Y += num1119 * 8f;
29321 int num1124 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector283.X, vector283.Y, num1117, num1119, num1123, num1122, 0f, Main.myPlayer);
29322 }
29323 }
29324 }
29325 else
29326 {
29327 if (this.ai[2] != 1f)
29328 {
29329 return;
29330 }
29331 this.ai[3] += 1f;
29332 if (this.ai[3] >= 200f)
29333 {
29334 localAI[0] = 0f;
29335 this.ai[2] = 0f;
29336 this.ai[3] = 0f;
29337 netUpdate = true;
29338 }
29339 Vector2 vector284 = default(Vector2);
29340 ((Vector2)(ref vector284))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
29341 float num1125 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - 350f - vector284.X;
29342 float num1126 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - 20f - vector284.Y;
29343 float num1127 = (float)Math.Sqrt(num1125 * num1125 + num1126 * num1126);
29344 num1127 = 7f / num1127;
29345 num1125 *= num1127;
29346 num1126 *= num1127;
29347 if (velocity.X > num1125)
29348 {
29349 if (velocity.X > 0f)
29350 {
29351 velocity.X *= 0.9f;
29352 }
29353 velocity.X -= 0.1f;
29354 }
29355 if (velocity.X < num1125)
29356 {
29357 if (velocity.X < 0f)
29358 {
29359 velocity.X *= 0.9f;
29360 }
29361 velocity.X += 0.1f;
29362 }
29363 if (velocity.Y > num1126)
29364 {
29365 if (velocity.Y > 0f)
29366 {
29367 velocity.Y *= 0.9f;
29368 }
29369 velocity.Y -= 0.03f;
29370 }
29371 if (velocity.Y < num1126)
29372 {
29373 if (velocity.Y < 0f)
29374 {
29375 velocity.Y *= 0.9f;
29376 }
29377 velocity.Y += 0.03f;
29378 }
29379 TargetClosest();
29380 ((Vector2)(ref vector284))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
29381 num1125 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector284.X;
29382 num1126 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector284.Y;
29383 num1127 = (float)Math.Sqrt(num1125 * num1125 + num1126 * num1126);
29384 rotation = (float)Math.Atan2(num1126, num1125) - 1.57f;
29385 if (Main.netMode == 1)
29386 {
29387 localAI[0] += 1f;
29388 if (localAI[0] > 80f)
29389 {
29390 localAI[0] = 0f;
29391 float num1128 = 10f;
29392 int num1130 = 25;
29393 int num1131 = 100;
29395 num1125 *= num1127;
29396 num1126 *= num1127;
29397 num1125 += (float)Main.rand.Next(-40, 41) * 0.05f;
29398 num1126 += (float)Main.rand.Next(-40, 41) * 0.05f;
29399 vector284.X += num1125 * 8f;
29400 vector284.Y += num1126 * 8f;
29401 int num1132 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector284.X, vector284.Y, num1125, num1126, num1131, num1130, 0f, Main.myPlayer);
29402 }
29403 }
29404 }
29405 }
29406 else if (aiStyle == 37)
29407 {
29409 }
29410 else if (aiStyle == 38)
29411 {
29412 float num1133 = 4f;
29413 float num1134 = 1f;
29414 if (type == 143)
29415 {
29416 num1133 = 3f;
29417 num1134 = 0.7f;
29418 }
29419 if (type == 145)
29420 {
29421 num1133 = 3.5f;
29422 num1134 = 0.8f;
29423 }
29424 if (type == 143)
29425 {
29426 this.ai[2] += 1f;
29427 if (this.ai[2] >= 120f)
29428 {
29429 this.ai[2] = 0f;
29430 if (Main.netMode != 1)
29431 {
29432 Vector2 vector286 = default(Vector2);
29433 ((Vector2)(ref vector286))._002Ector(position.X + (float)width * 0.5f - (float)(direction * 12), position.Y + (float)height * 0.5f);
29434 float speedX = 12 * spriteDirection;
29435 float speedY = 0f;
29436 if (Main.netMode != 1)
29437 {
29438 int num1135 = 25;
29439 int num1136 = 110;
29440 int num1137 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector286.X, vector286.Y, speedX, speedY, num1136, num1135, 0f, Main.myPlayer);
29441 Main.projectile[num1137].ai[0] = 2f;
29442 Main.projectile[num1137].timeLeft = 300;
29443 Main.projectile[num1137].friendly = false;
29444 NetMessage.SendData(27, -1, -1, null, num1137);
29445 netUpdate = true;
29446 }
29447 }
29448 }
29449 }
29450 if (type == 144 && this.ai[1] >= 3f)
29451 {
29452 TargetClosest();
29454 if (velocity.Y == 0f)
29455 {
29456 velocity.X *= 0.9f;
29457 this.ai[2] += 1f;
29458 if ((double)velocity.X > -0.3 && (double)velocity.X < 0.3)
29459 {
29460 velocity.X = 0f;
29461 }
29462 if (this.ai[2] >= 200f)
29463 {
29464 this.ai[2] = 0f;
29465 this.ai[1] = 0f;
29466 }
29467 }
29468 }
29469 else if (type == 145 && this.ai[1] >= 3f)
29470 {
29471 TargetClosest();
29472 if (velocity.Y == 0f)
29473 {
29474 velocity.X *= 0.9f;
29475 this.ai[2] += 1f;
29476 if ((double)velocity.X > -0.3 && (double)velocity.X < 0.3)
29477 {
29478 velocity.X = 0f;
29479 }
29480 if (this.ai[2] >= 16f)
29481 {
29482 this.ai[2] = 0f;
29483 this.ai[1] = 0f;
29484 }
29485 }
29486 if (velocity.X == 0f && velocity.Y == 0f && this.ai[2] == 8f)
29487 {
29488 float num1138 = 10f;
29489 Vector2 vector287 = default(Vector2);
29490 ((Vector2)(ref vector287))._002Ector(position.X + (float)width * 0.5f - (float)(direction * 12), position.Y + (float)height * 0.25f);
29491 float num1139 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector287.X;
29492 float num1141 = Main.player[target].position.Y - vector287.Y;
29493 float num1142 = (float)Math.Sqrt(num1139 * num1139 + num1141 * num1141);
29495 num1139 *= num1142;
29496 num1141 *= num1142;
29497 if (Main.netMode != 1)
29498 {
29499 int num1143 = 35;
29500 int num1144 = 109;
29501 int num1145 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector287.X, vector287.Y, num1139, num1141, num1144, num1143, 0f, Main.myPlayer);
29502 Main.projectile[num1145].ai[0] = 2f;
29503 Main.projectile[num1145].timeLeft = 300;
29504 Main.projectile[num1145].friendly = false;
29505 NetMessage.SendData(27, -1, -1, null, num1145);
29506 netUpdate = true;
29507 }
29508 }
29509 }
29510 else
29511 {
29512 if (velocity.Y == 0f)
29513 {
29514 if (localAI[2] == position.X)
29515 {
29516 direction *= -1;
29517 this.ai[3] = 60f;
29518 }
29519 localAI[2] = position.X;
29520 if (this.ai[3] == 0f)
29521 {
29522 TargetClosest();
29523 }
29524 this.ai[0] += 1f;
29525 if (this.ai[0] > 2f)
29526 {
29527 this.ai[0] = 0f;
29528 this.ai[1] += 1f;
29529 velocity.Y = -8.2f;
29530 velocity.X += (float)direction * num1134 * 1.1f;
29531 }
29532 else
29533 {
29534 velocity.Y = -6f;
29535 velocity.X += (float)direction * num1134 * 0.9f;
29536 }
29538 }
29539 velocity.X += (float)direction * num1134 * 0.01f;
29540 }
29541 if (this.ai[3] > 0f)
29542 {
29543 this.ai[3] -= 1f;
29544 }
29545 if (velocity.X > num1133 && direction > 0)
29546 {
29547 velocity.X = num1133;
29548 }
29549 if (velocity.X < 0f - num1133 && direction < 0)
29550 {
29551 velocity.X = 0f - num1133;
29552 }
29553 }
29554 else if (aiStyle == 39)
29555 {
29556 if (target < 0 || Main.player[target].dead || direction == 0)
29557 {
29558 TargetClosest();
29559 }
29560 bool flag33 = true;
29561 int num1146 = 0;
29562 if (velocity.X < 0f)
29563 {
29564 num1146 = -1;
29565 }
29566 if (velocity.X > 0f)
29567 {
29568 num1146 = 1;
29569 }
29570 Vector2 vector288 = position;
29571 vector288.X += velocity.X;
29572 int num1147 = (int)((vector288.X + (float)(width / 2) + (float)((width / 2 + 1) * num1146)) / 16f);
29573 int num1148 = (int)((vector288.Y + (float)height - 1f) / 16f);
29574 if ((float)(num1147 * 16) < vector288.X + (float)width && (float)(num1147 * 16 + 16) > vector288.X)
29575 {
29576 Tile tileSafely = Framing.GetTileSafely(num1147, num1148 - 4);
29577 Tile tileSafely2 = Framing.GetTileSafely(num1147 - num1146, num1148 - 3);
29578 Tile tileSafely3 = Framing.GetTileSafely(num1147, num1148 - 3);
29579 Tile tileSafely4 = Framing.GetTileSafely(num1147, num1148 - 2);
29580 Tile tileSafely5 = Framing.GetTileSafely(num1147, num1148 - 1);
29581 Tile tileSafely6 = Framing.GetTileSafely(num1147, num1148);
29582 if (((tileSafely6.nactive() && !tileSafely6.topSlope() && !tileSafely5.topSlope() && ((Main.tileSolid[tileSafely6.type] && !Main.tileSolidTop[tileSafely6.type]) || (flag33 && Main.tileSolidTop[tileSafely6.type] && (!Main.tileSolid[tileSafely5.type] || !tileSafely5.nactive()) && tileSafely6.type != 16 && tileSafely6.type != 18 && tileSafely6.type != 134))) || (tileSafely5.halfBrick() && tileSafely5.nactive())) && (!tileSafely5.nactive() || !Main.tileSolid[tileSafely5.type] || Main.tileSolidTop[tileSafely5.type] || (tileSafely5.halfBrick() && (!tileSafely.nactive() || !Main.tileSolid[tileSafely.type] || Main.tileSolidTop[tileSafely.type]))) && (!tileSafely4.nactive() || !Main.tileSolid[tileSafely4.type] || Main.tileSolidTop[tileSafely4.type]) && (!tileSafely3.nactive() || !Main.tileSolid[tileSafely3.type] || Main.tileSolidTop[tileSafely3.type]) && (!tileSafely2.nactive() || !Main.tileSolid[tileSafely2.type] || Main.tileSolidTop[tileSafely2.type]))
29583 {
29584 float num1149 = num1148 * 16;
29585 if (tileSafely6.halfBrick())
29586 {
29587 num1149 += 8f;
29588 }
29589 if (tileSafely5.halfBrick())
29590 {
29591 num1149 -= 8f;
29592 }
29593 if (num1149 < vector288.Y + (float)height)
29594 {
29595 float num1150 = vector288.Y + (float)height - num1149;
29596 if ((double)num1150 <= 16.1)
29597 {
29598 gfxOffY += position.Y + (float)height - num1149;
29599 position.Y = num1149 - (float)height;
29600 if (num1150 < 9f)
29601 {
29602 stepSpeed = 0.75f;
29603 }
29604 else
29605 {
29606 stepSpeed = 1.5f;
29607 }
29608 }
29609 }
29610 }
29611 }
29612 if (justHit && type != 417)
29613 {
29614 this.ai[0] = 0f;
29615 this.ai[1] = 0f;
29616 TargetClosest();
29617 }
29618 if (type == 154)
29619 {
29621 if (Main.rand.Next(10) == 0)
29622 {
29623 Vector2 val47 = new Vector2(position.X, position.Y);
29624 int num1686 = width;
29625 int num1687 = height;
29626 float speedX21 = velocity.X * 0.5f;
29627 float speedY20 = velocity.Y * 0.5f;
29628 newColor = default(Color);
29629 int num1152 = Dust.NewDust(val47, num1686, num1687, 67, speedX21, speedY20, 90, newColor, 1.5f);
29630 Main.dust[num1152].noGravity = true;
29631 Dust dust44 = Main.dust[num1152];
29632 Dust dust87 = dust44;
29633 dust87.velocity *= 0.2f;
29634 }
29636 }
29637 if (this.ai[0] == 0f)
29638 {
29639 if (velocity.X < 0f)
29640 {
29641 direction = -1;
29642 }
29643 else if (velocity.X > 0f)
29644 {
29645 direction = 1;
29646 }
29648 Vector2 vector289 = default(Vector2);
29649 ((Vector2)(ref vector289))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
29650 float num1153 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector289.X;
29651 float num1154 = Main.player[target].position.Y - vector289.Y;
29652 float num1155 = (float)Math.Sqrt(num1153 * num1153 + num1154 * num1154);
29653 bool flag34 = Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height);
29654 if (type >= 496 && type <= 497)
29655 {
29656 if (num1155 > 200f && flag34)
29657 {
29658 this.ai[1] += 2f;
29659 }
29660 if (num1155 > 600f && (flag34 || position.Y + (float)height > Main.player[target].position.Y - 200f))
29661 {
29662 this.ai[1] += 4f;
29663 }
29664 }
29665 else
29666 {
29667 if (num1155 > 200f && flag34)
29668 {
29669 this.ai[1] += 4f;
29670 }
29671 if (num1155 > 600f && (flag34 || position.Y + (float)height > Main.player[target].position.Y - 200f))
29672 {
29673 this.ai[1] += 10f;
29674 }
29675 if (wet)
29676 {
29677 this.ai[1] = 1000f;
29678 }
29679 }
29681 damage = defDamage;
29682 if (type >= 496 && type <= 497)
29683 {
29684 knockBackResist = 0.75f * Main.GameModeInfo.KnockbackToEnemiesMultiplier;
29685 }
29686 else
29687 {
29688 knockBackResist = 0.3f * Main.GameModeInfo.KnockbackToEnemiesMultiplier;
29689 }
29690 this.ai[1] += 1f;
29691 if (this.ai[1] >= 400f)
29692 {
29693 this.ai[1] = 0f;
29694 this.ai[0] = 1f;
29695 }
29696 if (!justHit && velocity.X != oldVelocity.X)
29697 {
29698 direction *= -1;
29699 }
29700 if (velocity.Y == 0f && Main.player[target].position.Y < position.Y + (float)height)
29701 {
29702 int num1156;
29703 int num1157;
29704 if (direction > 0)
29705 {
29706 num1156 = (int)(((double)position.X + (double)width * 0.5) / 16.0);
29707 num1157 = num1156 + 3;
29708 }
29709 else
29710 {
29711 num1157 = (int)(((double)position.X + (double)width * 0.5) / 16.0);
29712 num1156 = num1157 - 3;
29713 }
29714 int num1158 = (int)((position.Y + (float)height + 2f) / 16f) - 1;
29715 int num1159 = num1158 + 4;
29716 bool flag36 = false;
29717 for (int num1160 = num1156; num1160 <= num1157; num1160++)
29718 {
29719 for (int num1161 = num1158; num1161 <= num1159; num1161++)
29720 {
29721 if (Main.tile[num1160, num1161] != null && Main.tile[num1160, num1161].nactive() && Main.tileSolid[Main.tile[num1160, num1161].type])
29722 {
29723 flag36 = true;
29724 }
29725 }
29726 }
29727 if (!flag36)
29728 {
29729 direction *= -1;
29730 velocity.X = 0.1f * (float)direction;
29731 }
29732 }
29733 if (type >= 496 && type <= 497)
29734 {
29735 float num1164 = 0.5f;
29736 if (velocity.X < 0f - num1164 || velocity.X > num1164)
29737 {
29738 if (velocity.Y == 0f)
29739 {
29740 velocity *= 0.8f;
29741 }
29742 }
29743 else if (velocity.X < num1164 && direction == 1)
29744 {
29745 velocity.X += 0.07f;
29746 if (velocity.X > num1164)
29747 {
29748 velocity.X = num1164;
29749 }
29750 }
29751 else if (velocity.X > 0f - num1164 && direction == -1)
29752 {
29753 velocity.X -= 0.07f;
29754 if (velocity.X < 0f - num1164)
29755 {
29756 velocity.X = 0f - num1164;
29757 }
29758 }
29759 return;
29760 }
29761 float num1165 = 1f;
29762 if (num1155 < 400f)
29763 {
29764 if (velocity.X < 0f - num1165 || velocity.X > num1165)
29765 {
29766 if (velocity.Y == 0f)
29767 {
29768 velocity *= 0.8f;
29769 }
29770 }
29771 else if (velocity.X < num1165 && direction == 1)
29772 {
29773 velocity.X += 0.07f;
29774 if (velocity.X > num1165)
29775 {
29776 velocity.X = num1165;
29777 }
29778 }
29779 else if (velocity.X > 0f - num1165 && direction == -1)
29780 {
29781 velocity.X -= 0.07f;
29782 if (velocity.X < 0f - num1165)
29783 {
29784 velocity.X = 0f - num1165;
29785 }
29786 }
29787 }
29788 else if (velocity.X < -1.5f || velocity.X > 1.5f)
29789 {
29790 if (velocity.Y == 0f)
29791 {
29792 velocity *= 0.8f;
29793 }
29794 }
29795 else if (velocity.X < 1.5f && direction == 1)
29796 {
29797 velocity.X += 0.07f;
29798 if (velocity.X > 1.5f)
29799 {
29800 velocity.X = 1.5f;
29801 }
29802 }
29803 else if (velocity.X > -1.5f && direction == -1)
29804 {
29805 velocity.X -= 0.07f;
29806 if (velocity.X < -1.5f)
29807 {
29808 velocity.X = -1.5f;
29809 }
29810 }
29811 }
29812 else if (this.ai[0] == 1f)
29813 {
29814 velocity.X *= 0.5f;
29815 if (type >= 496 && type <= 497)
29816 {
29817 this.ai[1] += 0.5f;
29818 }
29819 else
29820 {
29821 this.ai[1] += 1f;
29822 }
29823 if (this.ai[1] >= 30f)
29824 {
29825 netUpdate = true;
29826 TargetClosest();
29827 this.ai[1] = 0f;
29828 this.ai[2] = 0f;
29829 this.ai[0] = 3f;
29830 if (type == 417)
29831 {
29832 position.Y += height;
29833 height = 32;
29834 position.Y -= height;
29835 this.ai[0] = 6f;
29836 this.ai[2] = Main.rand.Next(2, 5);
29837 }
29838 }
29839 }
29840 else if (this.ai[0] == 3f)
29841 {
29842 if (type == 154 && Main.rand.Next(3) < 2)
29843 {
29845 Vector2 val48 = new Vector2(position.X, position.Y);
29846 int num1688 = width;
29847 int num1689 = height;
29848 float speedX22 = velocity.X * 0.5f;
29849 float speedY21 = velocity.Y * 0.5f;
29850 newColor = default(Color);
29851 int num1166 = Dust.NewDust(val48, num1688, num1689, 67, speedX22, speedY21, 90, newColor, 1.5f);
29852 Main.dust[num1166].noGravity = true;
29853 Dust dust40 = Main.dust[num1166];
29854 Dust dust87 = dust40;
29855 dust87.velocity *= 0.2f;
29857 }
29858 float num1167 = 2f;
29859 if (type >= 496 && type <= 497)
29860 {
29861 num1167 = 1.5f;
29862 }
29864 defense = defDefense * 2;
29865 this.ai[1] += 1f;
29866 if (this.ai[1] == 1f)
29867 {
29868 netUpdate = true;
29869 TargetClosest();
29870 this.ai[2] += 0.3f;
29871 rotation += this.ai[2] * (float)direction;
29872 this.ai[1] += 1f;
29873 bool flag37 = Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height);
29874 float num1168 = 10f;
29875 if (!flag37)
29876 {
29877 num1168 = 6f;
29878 }
29879 if (type >= 496 && type <= 497)
29880 {
29881 num1168 *= 0.75f;
29882 }
29883 Vector2 vector290 = default(Vector2);
29884 ((Vector2)(ref vector290))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
29885 float num1169 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector290.X;
29886 float num1170 = Math.Abs(num1169) * 0.2f;
29887 if (directionY > 0)
29888 {
29889 num1170 = 0f;
29890 }
29891 float num1171 = Main.player[target].position.Y - vector290.Y - num1170;
29892 float num1172 = (float)Math.Sqrt(num1169 * num1169 + num1171 * num1171);
29893 netUpdate = true;
29895 num1169 *= num1172;
29896 num1171 *= num1172;
29897 if (!flag37)
29898 {
29899 num1171 = -10f;
29900 }
29901 velocity.X = num1169;
29902 velocity.Y = num1171;
29903 this.ai[3] = velocity.X;
29904 }
29905 else
29906 {
29907 if (position.X + (float)width > Main.player[target].position.X && position.X < Main.player[target].position.X + (float)Main.player[target].width && position.Y < Main.player[target].position.Y + (float)Main.player[target].height)
29908 {
29909 velocity.X *= 0.8f;
29910 this.ai[3] = 0f;
29911 if (velocity.Y < 0f)
29912 {
29913 velocity.Y += 0.2f;
29914 }
29915 }
29916 if (this.ai[3] != 0f)
29917 {
29918 velocity.X = this.ai[3];
29919 velocity.Y -= 0.22f;
29920 }
29921 if (this.ai[1] >= 90f)
29922 {
29923 noGravity = false;
29924 this.ai[1] = 0f;
29925 this.ai[0] = 4f;
29926 }
29927 }
29928 if (wet && directionY < 0)
29929 {
29930 velocity.Y -= 0.3f;
29931 }
29932 rotation += this.ai[2] * (float)direction;
29933 }
29934 else if (this.ai[0] == 4f)
29935 {
29936 if (wet && directionY < 0)
29937 {
29938 velocity.Y -= 0.3f;
29939 }
29940 velocity.X *= 0.96f;
29941 if (this.ai[2] > 0f)
29942 {
29943 this.ai[2] -= 0.01f;
29944 rotation += this.ai[2] * (float)direction;
29945 }
29946 else if (velocity.Y >= 0f)
29947 {
29948 rotation = 0f;
29949 }
29950 if (this.ai[2] <= 0f && (velocity.Y == 0f || wet))
29951 {
29952 netUpdate = true;
29953 rotation = 0f;
29954 this.ai[2] = 0f;
29955 this.ai[1] = 0f;
29956 this.ai[0] = 5f;
29957 }
29958 }
29959 else if (this.ai[0] == 6f)
29960 {
29962 defense = defDefense * 2;
29963 knockBackResist = 0f;
29964 if (Main.rand.Next(3) < 2)
29965 {
29967 Vector2 val49 = base.Center - new Vector2(30f);
29968 float speedX23 = velocity.X * 0.5f;
29969 float speedY22 = velocity.Y * 0.5f;
29970 newColor = default(Color);
29971 int num1173 = Dust.NewDust(val49, 60, 60, 6, speedX23, speedY22, 90, newColor, 1.5f);
29972 Main.dust[num1173].noGravity = true;
29973 Dust dust43 = Main.dust[num1173];
29974 Dust dust87 = dust43;
29975 dust87.velocity *= 0.2f;
29976 Main.dust[num1173].fadeIn = 1f;
29978 }
29979 this.ai[1] += 1f;
29980 if (this.ai[3] > 0f)
29981 {
29983 if (this.ai[3] == 1f)
29984 {
29985 Vector2 vector291 = base.Center - new Vector2(50f);
29986 for (int num1175 = 0; num1175 < 32; num1175++)
29987 {
29988 newColor = default(Color);
29989 int num1176 = Dust.NewDust(vector291, 100, 100, 6, 0f, 0f, 100, newColor, 2.5f);
29990 Main.dust[num1176].noGravity = true;
29991 Dust dust42 = Main.dust[num1176];
29992 Dust dust87 = dust42;
29993 dust87.velocity *= 3f;
29994 newColor = default(Color);
29995 num1176 = Dust.NewDust(vector291, 100, 100, 6, 0f, 0f, 100, newColor, 1.5f);
29996 dust42 = Main.dust[num1176];
29997 dust87 = dust42;
29998 dust87.velocity *= 2f;
29999 Main.dust[num1176].noGravity = true;
30000 }
30001 for (int num1177 = 0; num1177 < 4; num1177++)
30002 {
30003 Vector2 val50 = vector291 + new Vector2((float)(50 * Main.rand.Next(100)) / 100f, (float)(50 * Main.rand.Next(100)) / 100f) - Vector2.One * 10f;
30004 val29 = default(Vector2);
30005 int num1178 = Gore.NewGore(val50, val29, Main.rand.Next(61, 64));
30006 Gore gore = Main.gore[num1178];
30007 Gore gore4 = gore;
30008 gore4.velocity *= 0.3f;
30009 Main.gore[num1178].velocity.X += (float)Main.rand.Next(-10, 11) * 0.05f;
30010 Main.gore[num1178].velocity.Y += (float)Main.rand.Next(-10, 11) * 0.05f;
30011 }
30012 }
30013 for (int num1179 = 0; num1179 < 5; num1179++)
30014 {
30015 Vector2 val51 = position;
30016 int num1690 = width;
30017 int num1691 = height;
30018 newColor = default(Color);
30019 int num1180 = Dust.NewDust(val51, num1690, num1691, 31, 0f, 0f, 100, newColor, 1.5f);
30020 Main.dust[num1180].velocity = Main.dust[num1180].velocity * Main.rand.NextFloat();
30021 }
30022 this.ai[3]++;
30023 if (this.ai[3] >= 10f)
30024 {
30025 this.ai[3] = 0f;
30026 }
30028 }
30029 if (this.ai[1] == 1f)
30030 {
30031 netUpdate = true;
30032 TargetClosest();
30033 bool flag38 = Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height);
30034 float num1181 = 16f;
30035 if (!flag38)
30036 {
30037 num1181 = 10f;
30038 }
30039 Vector2 vector292 = default(Vector2);
30040 ((Vector2)(ref vector292))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
30041 float num1182 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector292.X;
30042 float num1183 = Math.Abs(num1182) * 0.2f;
30043 if (directionY > 0)
30044 {
30045 num1183 = 0f;
30046 }
30047 float num1184 = Main.player[target].position.Y - vector292.Y - num1183;
30048 float num1186 = (float)Math.Sqrt(num1182 * num1182 + num1184 * num1184);
30049 netUpdate = true;
30051 num1182 *= num1186;
30052 num1184 *= num1186;
30053 if (!flag38)
30054 {
30055 num1184 = -12f;
30056 }
30057 velocity.X = num1182;
30058 velocity.Y = num1184;
30059 }
30060 else
30061 {
30062 if (position.X + (float)width > Main.player[target].position.X && position.X < Main.player[target].position.X + (float)Main.player[target].width && position.Y < Main.player[target].position.Y + (float)Main.player[target].height)
30063 {
30064 velocity.X *= 0.9f;
30065 if (velocity.Y < 0f)
30066 {
30067 velocity.Y += 0.2f;
30068 }
30069 }
30070 if (this.ai[2] == 0f || this.ai[1] >= 1200f)
30071 {
30072 this.ai[1] = 0f;
30073 this.ai[0] = 5f;
30074 }
30075 }
30076 if (wet && directionY < 0)
30077 {
30078 velocity.Y -= 0.3f;
30079 }
30080 rotation += MathHelper.Clamp(velocity.X / 10f * (float)direction, -(float)Math.PI / 10f, (float)Math.PI / 10f);
30081 }
30082 else if (this.ai[0] == 5f)
30083 {
30084 if (type == 417)
30085 {
30086 position.Y += height;
30087 height = 52;
30088 position.Y -= height;
30089 }
30090 rotation = 0f;
30091 velocity.X = 0f;
30092 if (type >= 496 && type <= 497)
30093 {
30094 this.ai[1] += 0.5f;
30095 }
30096 else
30097 {
30098 this.ai[1] += 1f;
30099 }
30100 if (this.ai[1] >= 30f)
30101 {
30102 TargetClosest();
30103 netUpdate = true;
30104 this.ai[1] = 0f;
30105 this.ai[0] = 0f;
30106 }
30107 if (wet)
30108 {
30109 this.ai[0] = 3f;
30110 this.ai[1] = 0f;
30111 }
30112 }
30113 }
30114 else if (aiStyle == 40)
30115 {
30116 if (target < 0 || target == 255 || Main.player[target].dead)
30117 {
30118 TargetClosest();
30119 }
30120 float num1187 = 2f;
30121 float num1188 = 0.08f;
30122 if (type == 237)
30123 {
30124 num1187 = 3f;
30125 num1188 = 0.12f;
30126 }
30127 if (type == 531)
30128 {
30129 num1187 = 4f;
30130 num1188 = 0.16f;
30131 }
30132 Vector2 vector293 = default(Vector2);
30133 ((Vector2)(ref vector293))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
30134 float num1189 = Main.player[target].position.X + (float)(Main.player[target].width / 2);
30135 float num1190 = Main.player[target].position.Y + (float)(Main.player[target].height / 2);
30136 num1189 = (int)(num1189 / 8f) * 8;
30137 num1190 = (int)(num1190 / 8f) * 8;
30138 vector293.X = (int)(vector293.X / 8f) * 8;
30139 vector293.Y = (int)(vector293.Y / 8f) * 8;
30140 num1189 -= vector293.X;
30141 num1190 -= vector293.Y;
30142 if (confused)
30143 {
30144 num1189 *= -2f;
30145 num1190 *= -2f;
30146 }
30147 float num1191 = (float)Math.Sqrt(num1189 * num1189 + num1190 * num1190);
30148 float num1192 = num1191;
30149 if (num1191 == 0f)
30150 {
30151 num1189 = velocity.X;
30152 num1190 = velocity.Y;
30153 }
30154 else
30155 {
30157 num1189 *= num1191;
30158 num1190 *= num1191;
30159 }
30160 if (Main.player[target].dead)
30161 {
30162 num1189 = (float)direction * num1187 / 2f;
30163 num1190 = (0f - num1187) / 2f;
30164 }
30165 spriteDirection = -1;
30166 if (!Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height))
30167 {
30168 this.ai[0] += 1f;
30169 if (this.ai[0] > 0f)
30170 {
30171 velocity.Y += 0.023f;
30172 }
30173 else
30174 {
30175 velocity.Y -= 0.023f;
30176 }
30177 if (this.ai[0] < -100f || this.ai[0] > 100f)
30178 {
30179 velocity.X += 0.023f;
30180 }
30181 else
30182 {
30183 velocity.X -= 0.023f;
30184 }
30185 if (this.ai[0] > 200f)
30186 {
30187 this.ai[0] = -200f;
30188 }
30189 velocity.X += num1189 * 0.007f;
30190 velocity.Y += num1190 * 0.007f;
30191 rotation = (float)Math.Atan2(velocity.Y, velocity.X);
30192 if ((double)velocity.X > 1.5)
30193 {
30194 velocity.X *= 0.9f;
30195 }
30196 if ((double)velocity.X < -1.5)
30197 {
30198 velocity.X *= 0.9f;
30199 }
30200 if ((double)velocity.Y > 1.5)
30201 {
30202 velocity.Y *= 0.9f;
30203 }
30204 if ((double)velocity.Y < -1.5)
30205 {
30206 velocity.Y *= 0.9f;
30207 }
30208 if (velocity.X > 3f)
30209 {
30210 velocity.X = 3f;
30211 }
30212 if (velocity.X < -3f)
30213 {
30214 velocity.X = -3f;
30215 }
30216 if (velocity.Y > 3f)
30217 {
30218 velocity.Y = 3f;
30219 }
30220 if (velocity.Y < -3f)
30221 {
30222 velocity.Y = -3f;
30223 }
30224 }
30225 else
30226 {
30227 if (velocity.X < num1189)
30228 {
30229 velocity.X += num1188;
30230 if (velocity.X < 0f && num1189 > 0f)
30231 {
30232 velocity.X += num1188;
30233 }
30234 }
30235 else if (velocity.X > num1189)
30236 {
30237 velocity.X -= num1188;
30238 if (velocity.X > 0f && num1189 < 0f)
30239 {
30240 velocity.X -= num1188;
30241 }
30242 }
30243 if (velocity.Y < num1190)
30244 {
30245 velocity.Y += num1188;
30246 if (velocity.Y < 0f && num1190 > 0f)
30247 {
30248 velocity.Y += num1188;
30249 }
30250 }
30251 else if (velocity.Y > num1190)
30252 {
30253 velocity.Y -= num1188;
30254 if (velocity.Y > 0f && num1190 < 0f)
30255 {
30256 velocity.Y -= num1188;
30257 }
30258 }
30259 rotation = (float)Math.Atan2(num1190, num1189);
30260 }
30261 if (type == 531)
30262 {
30263 rotation += (float)Math.PI / 2f;
30264 }
30265 float num1193 = 0.5f;
30266 if (collideX)
30267 {
30268 netUpdate = true;
30269 velocity.X = oldVelocity.X * (0f - num1193);
30270 if (direction == -1 && velocity.X > 0f && velocity.X < 2f)
30271 {
30272 velocity.X = 2f;
30273 }
30274 if (direction == 1 && velocity.X < 0f && velocity.X > -2f)
30275 {
30276 velocity.X = -2f;
30277 }
30278 }
30279 if (collideY)
30280 {
30281 netUpdate = true;
30282 velocity.Y = oldVelocity.Y * (0f - num1193);
30283 if (velocity.Y > 0f && (double)velocity.Y < 1.5)
30284 {
30285 velocity.Y = 2f;
30286 }
30287 if (velocity.Y < 0f && (double)velocity.Y > -1.5)
30288 {
30289 velocity.Y = -2f;
30290 }
30291 }
30292 if (((velocity.X > 0f && oldVelocity.X < 0f) || (velocity.X < 0f && oldVelocity.X > 0f) || (velocity.Y > 0f && oldVelocity.Y < 0f) || (velocity.Y < 0f && oldVelocity.Y > 0f)) && !justHit)
30293 {
30294 netUpdate = true;
30295 }
30296 if (Main.netMode == 1)
30297 {
30298 return;
30299 }
30300 if (Main.netMode != 1 && Main.expertMode && target >= 0 && (type == 163 || type == 238 || type == 236 || type == 237) && Collision.CanHit(base.Center, 1, 1, Main.player[target].Center, 1, 1))
30301 {
30302 localAI[0] += 1f;
30303 if (justHit)
30304 {
30305 localAI[0] -= Main.rand.Next(20, 60);
30306 if (localAI[0] < 0f)
30307 {
30308 localAI[0] = 0f;
30309 }
30310 }
30311 if (localAI[0] > (float)Main.rand.Next(180, 900))
30312 {
30313 localAI[0] = 0f;
30314 Vector2 vector294 = Main.player[target].Center - base.Center;
30315 ((Vector2)(ref vector294)).Normalize();
30316 vector294 *= 8f;
30318 int num1194 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), base.Center.X, base.Center.Y, vector294.X, vector294.Y, 472, attackDamage_ForProjectiles11, 0f, Main.myPlayer);
30319 }
30320 }
30321 if (!NPCCanStickToWalls())
30322 {
30323 int newType = type;
30324 switch (type)
30325 {
30326 case 165:
30327 newType = 164;
30328 break;
30329 case 237:
30330 newType = 236;
30331 break;
30332 case 238:
30333 newType = 163;
30334 break;
30335 case 240:
30336 newType = 239;
30337 break;
30338 case 531:
30339 newType = 530;
30340 break;
30341 }
30343 }
30344 }
30345 else if (aiStyle == 41)
30346 {
30347 if (this.ai[2] > 1f)
30348 {
30349 this.ai[2] -= 1f;
30350 }
30351 if (this.ai[2] == 0f)
30352 {
30353 this.ai[0] = -100f;
30354 this.ai[2] = 1f;
30355 TargetClosest();
30357 }
30358 if (type == 378)
30359 {
30360 Vector2 vector295 = default(Vector2);
30361 ((Vector2)(ref vector295))._002Ector(-6f, -10f);
30362 vector295.X *= spriteDirection;
30363 if (this.ai[1] != 5f && Main.rand.Next(3) == 0)
30364 {
30366 Vector2 val52 = base.Center + vector295 - Vector2.One * 5f;
30367 newColor = default(Color);
30368 int num1195 = Dust.NewDust(val52, 4, 4, 6, 0f, 0f, 0, newColor);
30369 Main.dust[num1195].scale = 1.5f;
30370 Main.dust[num1195].noGravity = true;
30371 Main.dust[num1195].velocity = Main.dust[num1195].velocity * 0.25f + Vector2.Normalize(vector295) * 1f;
30372 Dust obj4 = Main.dust[num1195];
30373 Vector2 spinningpoint14 = Main.dust[num1195].velocity;
30374 double radians = -(float)Math.PI / 2f * (float)direction;
30375 val29 = default(Vector2);
30376 obj4.velocity = spinningpoint14.RotatedBy(radians, val29);
30378 }
30379 if (this.ai[1] == 5f)
30380 {
30381 velocity = Vector2.Zero;
30382 position.X += width / 2;
30383 position.Y += height / 2;
30384 width = 160;
30385 height = 160;
30386 position.X -= width / 2;
30387 position.Y -= height / 2;
30388 dontTakeDamage = true;
30390 if (this.ai[2] > 7f)
30391 {
30392 for (int num1197 = 0; num1197 < 8; num1197++)
30393 {
30394 Vector2 val53 = new Vector2(position.X, position.Y);
30395 int num1692 = width;
30396 int num1693 = height;
30397 newColor = default(Color);
30398 int num1198 = Dust.NewDust(val53, num1692, num1693, 31, 0f, 0f, 100, newColor, 1.5f);
30399 }
30400 for (int num1199 = 0; num1199 < 32; num1199++)
30401 {
30402 Vector2 val54 = new Vector2(position.X, position.Y);
30403 int num1694 = width;
30404 int num1695 = height;
30405 newColor = default(Color);
30406 int num1200 = Dust.NewDust(val54, num1694, num1695, 6, 0f, 0f, 100, newColor, 2.5f);
30407 Main.dust[num1200].noGravity = true;
30408 Dust dust45 = Main.dust[num1200];
30409 Dust dust87 = dust45;
30410 dust87.velocity *= 3f;
30411 Vector2 val55 = new Vector2(position.X, position.Y);
30412 int num1696 = width;
30413 int num1697 = height;
30414 newColor = default(Color);
30415 num1200 = Dust.NewDust(val55, num1696, num1697, 6, 0f, 0f, 100, newColor, 1.5f);
30416 dust45 = Main.dust[num1200];
30417 dust87 = dust45;
30418 dust87.velocity *= 2f;
30419 Main.dust[num1200].noGravity = true;
30420 }
30421 for (int num1201 = 0; num1201 < 2; num1201++)
30422 {
30423 Vector2 val56 = position + new Vector2((float)(width * Main.rand.Next(100)) / 100f, (float)(height * Main.rand.Next(100)) / 100f) - Vector2.One * 10f;
30424 val29 = default(Vector2);
30425 int num1202 = Gore.NewGore(val56, val29, Main.rand.Next(61, 64));
30426 Gore gore2 = Main.gore[num1202];
30427 Gore gore4 = gore2;
30428 gore4.velocity *= 0.3f;
30429 Main.gore[num1202].velocity.X += (float)Main.rand.Next(-10, 11) * 0.05f;
30430 Main.gore[num1202].velocity.Y += (float)Main.rand.Next(-10, 11) * 0.05f;
30431 }
30432 if (this.ai[2] == 9f)
30433 {
30435 }
30436 }
30437 if (this.ai[2] == 1f)
30438 {
30439 life = -1;
30440 HitEffect();
30441 active = false;
30442 }
30444 return;
30445 }
30446 }
30447 if (type == 378 && this.ai[1] != 5f)
30448 {
30449 if (wet || Vector2.Distance(base.Center, Main.player[target].Center) < 64f)
30450 {
30451 this.ai[1] = 5f;
30452 this.ai[2] = 10f;
30453 netUpdate = true;
30454 return;
30455 }
30456 }
30457 else if (wet && type != 177)
30458 {
30459 if (collideX)
30460 {
30461 direction *= -direction;
30463 }
30464 if (collideY)
30465 {
30466 TargetClosest();
30467 if (oldVelocity.Y < 0f)
30468 {
30469 velocity.Y = 5f;
30470 }
30471 else
30472 {
30473 velocity.Y -= 2f;
30474 }
30476 }
30477 if (velocity.Y > 4f)
30478 {
30479 velocity.Y *= 0.95f;
30480 }
30481 velocity.Y -= 0.3f;
30482 if (velocity.Y < -4f)
30483 {
30484 velocity.Y = -4f;
30485 }
30486 }
30487 if (velocity.Y == 0f)
30488 {
30489 if (this.ai[3] == position.X)
30490 {
30491 direction *= -1;
30492 this.ai[2] = 300f;
30493 }
30494 this.ai[3] = 0f;
30495 velocity.X *= 0.8f;
30496 if ((double)velocity.X > -0.1 && (double)velocity.X < 0.1)
30497 {
30498 velocity.X = 0f;
30499 }
30500 if (type == 177)
30501 {
30502 this.ai[0] += 2f;
30503 }
30504 else
30505 {
30506 this.ai[0] += 5f;
30507 }
30508 Vector2 vector297 = default(Vector2);
30509 ((Vector2)(ref vector297))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
30510 float num1203 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector297.X;
30511 float num1204 = Main.player[target].position.Y + (float)Main.player[target].height * 0.5f - vector297.Y;
30512 float num1205 = (float)Math.Sqrt(num1203 * num1203 + num1204 * num1204);
30513 float num1206 = 400f / num1205;
30514 num1206 = ((type != 177) ? (num1206 * 10f) : (num1206 * 5f));
30515 if (num1206 > 30f)
30516 {
30517 num1206 = 30f;
30518 }
30519 this.ai[0] += (int)num1206;
30520 if (this.ai[0] >= 0f)
30521 {
30522 netUpdate = true;
30523 if (this.ai[2] == 1f)
30524 {
30525 TargetClosest();
30526 }
30527 if (type == 177)
30528 {
30529 if (this.ai[1] == 2f)
30530 {
30531 velocity.Y = -11.5f;
30532 velocity.X += 2f * (float)direction;
30534 {
30535 velocity.X += direction;
30536 }
30537 this.ai[0] = -200f;
30538 this.ai[1] = 0f;
30539 this.ai[3] = position.X;
30540 }
30541 else
30542 {
30543 velocity.Y = -7.5f;
30544 velocity.X += 4 * direction;
30546 {
30547 velocity.X += direction;
30548 }
30549 this.ai[0] = -120f;
30550 this.ai[1] += 1f;
30551 }
30552 }
30553 else
30554 {
30555 if (type == 378)
30556 {
30557 SoundEngine.PlaySound(29, (int)position.X, (int)position.Y, 124);
30558 }
30559 if (this.ai[1] == 3f)
30560 {
30561 velocity.Y = -9f;
30562 velocity.X += 3 * direction;
30564 {
30565 velocity.X += direction;
30566 }
30567 this.ai[0] = -200f;
30568 this.ai[1] = 0f;
30569 this.ai[3] = position.X;
30570 }
30571 else
30572 {
30573 velocity.Y = -5f;
30574 velocity.X += 5 * direction;
30576 {
30577 velocity.X += direction;
30578 }
30579 this.ai[0] = -120f;
30580 this.ai[1] += 1f;
30581 }
30582 }
30583 }
30584 else if (this.ai[0] >= -30f)
30585 {
30586 aiAction = 1;
30587 }
30589 }
30590 else
30591 {
30592 if (target >= 255)
30593 {
30594 return;
30595 }
30596 if (type == 177)
30597 {
30598 bool flag39 = false;
30599 if (position.Y + (float)height < Main.player[target].position.Y && position.X + (float)width > Main.player[target].position.X && position.X < Main.player[target].position.X + (float)Main.player[target].width)
30600 {
30601 flag39 = true;
30602 velocity.X *= 0.92f;
30603 if (velocity.Y < 0f)
30604 {
30605 velocity.Y *= 0.9f;
30606 velocity.Y += 0.1f;
30607 }
30608 }
30609 if (!flag39 && ((direction == 1 && velocity.X < 4f) || (direction == -1 && velocity.X > -4f)))
30610 {
30611 if ((direction == -1 && (double)velocity.X < 0.1) || (direction == 1 && (double)velocity.X > -0.1))
30612 {
30613 velocity.X += 0.2f * (float)direction;
30614 }
30615 else
30616 {
30617 velocity.X *= 0.93f;
30618 }
30619 }
30620 }
30621 else if ((direction == 1 && velocity.X < 3f) || (direction == -1 && velocity.X > -3f))
30622 {
30623 if ((direction == -1 && (double)velocity.X < 0.1) || (direction == 1 && (double)velocity.X > -0.1))
30624 {
30625 velocity.X += 0.2f * (float)direction;
30626 }
30627 else
30628 {
30629 velocity.X *= 0.93f;
30630 }
30631 }
30632 }
30633 }
30634 else if (aiStyle == 42)
30635 {
30636 TargetClosest();
30637 if (this.ai[0] == 0f)
30638 {
30639 if (target >= 0)
30640 {
30641 Vector2 vector298 = default(Vector2);
30642 ((Vector2)(ref vector298))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
30643 float num1208 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector298.X;
30644 float num1209 = Main.player[target].position.Y - vector298.Y;
30645 float num1210 = (float)Math.Sqrt(num1208 * num1208 + num1209 * num1209);
30646 if (num1210 < 200f && Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height))
30647 {
30648 this.ai[0] = 1f;
30649 }
30650 }
30651 if (velocity.X != 0f || velocity.Y < 0f || velocity.Y > 2f || life != lifeMax)
30652 {
30653 this.ai[0] = 1f;
30654 }
30655 }
30656 else
30657 {
30658 this.ai[0] += 1f;
30659 if (this.ai[0] >= 21f)
30660 {
30661 this.ai[0] = 21f;
30662 Transform(196);
30663 }
30664 }
30665 }
30666 else if (aiStyle == 43)
30667 {
30668 if (Main.expertMode)
30669 {
30670 int num1211 = (int)(20f * (1f - (float)life / (float)lifeMax));
30672 }
30673 if (target < 0 || target == 255 || Main.player[target].dead || !Main.player[target].active)
30674 {
30675 TargetClosest();
30676 }
30677 bool dead4 = Main.player[target].dead;
30678 float num1212 = 0f;
30679 if ((double)(position.Y / 16f) < Main.worldSurface)
30680 {
30681 num1212 += 1f;
30682 }
30683 if (!Main.player[target].ZoneJungle)
30684 {
30685 num1212 += 1f;
30686 }
30687 if (Main.getGoodWorld)
30688 {
30689 num1212 += 0.5f;
30690 }
30691 float num1213 = Vector2.Distance(base.Center, Main.player[target].Center);
30692 if (this.ai[0] != 5f)
30693 {
30694 if (timeLeft < 60)
30695 {
30696 timeLeft = 60;
30697 }
30698 if (num1213 > 3000f)
30699 {
30700 this.ai[0] = 4f;
30701 netUpdate = true;
30702 }
30703 }
30704 if (dead4)
30705 {
30706 this.ai[0] = 5f;
30707 netUpdate = true;
30708 }
30709 if (this.ai[0] == 5f)
30710 {
30711 velocity.Y *= 0.98f;
30712 if (velocity.X < 0f)
30713 {
30714 direction = -1;
30715 }
30716 else
30717 {
30718 direction = 1;
30719 }
30721 if (position.X < (float)(Main.maxTilesX * 8))
30722 {
30723 if (velocity.X > 0f)
30724 {
30725 velocity.X *= 0.98f;
30726 }
30727 else
30728 {
30729 localAI[0] = 1f;
30730 }
30731 velocity.X -= 0.08f;
30732 }
30733 else
30734 {
30735 if (velocity.X < 0f)
30736 {
30737 velocity.X *= 0.98f;
30738 }
30739 else
30740 {
30741 localAI[0] = 1f;
30742 }
30743 velocity.X += 0.08f;
30744 }
30745 EncourageDespawn(10);
30746 }
30747 else if (this.ai[0] == -1f)
30748 {
30749 if (Main.netMode == 1)
30750 {
30751 return;
30752 }
30753 float num1214 = this.ai[1];
30754 int num1215;
30755 do
30756 {
30757 num1215 = Main.rand.Next(3);
30758 switch (num1215)
30759 {
30760 case 1:
30761 num1215 = 2;
30762 break;
30763 case 2:
30764 num1215 = 3;
30765 break;
30766 }
30767 }
30768 while ((float)num1215 == num1214);
30769 this.ai[0] = num1215;
30770 this.ai[1] = 0f;
30771 this.ai[2] = 0f;
30772 netUpdate = true;
30773 }
30774 else if (this.ai[0] == 0f)
30775 {
30776 int num1216 = 2;
30777 if (Main.expertMode)
30778 {
30779 if (life < lifeMax / 2)
30780 {
30781 num1216++;
30782 }
30783 if (life < lifeMax / 3)
30784 {
30785 num1216++;
30786 }
30787 if (life < lifeMax / 5)
30788 {
30789 num1216++;
30790 }
30791 }
30792 num1216 += (int)(1f * num1212);
30793 if (this.ai[1] > (float)(2 * num1216) && this.ai[1] % 2f == 0f)
30794 {
30795 this.ai[0] = -1f;
30796 this.ai[1] = 0f;
30797 this.ai[2] = 0f;
30798 netUpdate = true;
30799 return;
30800 }
30801 if (this.ai[1] % 2f == 0f)
30802 {
30803 TargetClosest();
30804 float num1217 = 20f;
30805 num1217 += 20f * num1212;
30806 if (Math.Abs(base.Center.Y - Main.player[target].Center.Y) < num1217)
30807 {
30808 localAI[0] = 1f;
30809 this.ai[1] += 1f;
30810 this.ai[2] = 0f;
30811 netUpdate = true;
30812 float num1219 = 12f;
30813 if (Main.expertMode)
30814 {
30815 num1219 = 16f;
30816 if ((double)life < (double)lifeMax * 0.75)
30817 {
30818 num1219 += 2f;
30819 }
30820 if ((double)life < (double)lifeMax * 0.5)
30821 {
30822 num1219 += 2f;
30823 }
30824 if ((double)life < (double)lifeMax * 0.25)
30825 {
30826 num1219 += 2f;
30827 }
30828 if ((double)life < (double)lifeMax * 0.1)
30829 {
30830 num1219 += 2f;
30831 }
30832 }
30833 num1219 += 7f * num1212;
30834 Vector2 vector299 = default(Vector2);
30835 ((Vector2)(ref vector299))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
30836 float num1220 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector299.X;
30837 float num1221 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector299.Y;
30838 float num1222 = (float)Math.Sqrt(num1220 * num1220 + num1221 * num1221);
30840 velocity.X = num1220 * num1222;
30841 velocity.Y = num1221 * num1222;
30843 SoundEngine.PlaySound(29, (int)position.X, (int)position.Y, 125);
30844 return;
30845 }
30846 localAI[0] = 0f;
30847 float num1223 = 12f;
30848 float num1224 = 0.15f;
30849 if (Main.expertMode)
30850 {
30851 if ((double)life < (double)lifeMax * 0.75)
30852 {
30853 num1223 += 1f;
30854 num1224 += 0.05f;
30855 }
30856 if ((double)life < (double)lifeMax * 0.5)
30857 {
30858 num1223 += 1f;
30859 num1224 += 0.05f;
30860 }
30861 if ((double)life < (double)lifeMax * 0.25)
30862 {
30863 num1223 += 2f;
30864 num1224 += 0.05f;
30865 }
30866 if ((double)life < (double)lifeMax * 0.1)
30867 {
30868 num1223 += 2f;
30869 num1224 += 0.1f;
30870 }
30871 }
30872 num1223 += 3f * num1212;
30873 num1224 += 0.5f * num1212;
30874 if (position.Y + (float)(height / 2) < Main.player[target].position.Y + (float)(Main.player[target].height / 2))
30875 {
30876 velocity.Y += num1224;
30877 }
30878 else
30879 {
30880 velocity.Y -= num1224;
30881 }
30882 if (velocity.Y < 0f - num1223)
30883 {
30884 velocity.Y = 0f - num1223;
30885 }
30886 if (velocity.Y > num1223)
30887 {
30888 velocity.Y = num1223;
30889 }
30890 if (Math.Abs(position.X + (float)(width / 2) - (Main.player[target].position.X + (float)(Main.player[target].width / 2))) > 600f)
30891 {
30892 velocity.X += 0.15f * (float)direction;
30893 }
30894 else if (Math.Abs(position.X + (float)(width / 2) - (Main.player[target].position.X + (float)(Main.player[target].width / 2))) < 300f)
30895 {
30896 velocity.X -= 0.15f * (float)direction;
30897 }
30898 else
30899 {
30900 velocity.X *= 0.8f;
30901 }
30902 if (velocity.X < -16f)
30903 {
30904 velocity.X = -16f;
30905 }
30906 if (velocity.X > 16f)
30907 {
30908 velocity.X = 16f;
30909 }
30911 return;
30912 }
30913 if (velocity.X < 0f)
30914 {
30915 direction = -1;
30916 }
30917 else
30918 {
30919 direction = 1;
30920 }
30922 int num1225 = 600;
30923 if (Main.expertMode)
30924 {
30925 if ((double)life < (double)lifeMax * 0.1)
30926 {
30927 num1225 = 300;
30928 }
30929 else if ((double)life < (double)lifeMax * 0.25)
30930 {
30931 num1225 = 450;
30932 }
30933 else if ((double)life < (double)lifeMax * 0.5)
30934 {
30935 num1225 = 500;
30936 }
30937 else if ((double)life < (double)lifeMax * 0.75)
30938 {
30939 num1225 = 550;
30940 }
30941 }
30942 int num1226 = 1;
30943 if (position.X + (float)(width / 2) < Main.player[target].position.X + (float)(Main.player[target].width / 2))
30944 {
30945 num1226 = -1;
30946 }
30947 num1225 -= (int)(100f * num1212);
30948 bool flag40 = false;
30949 if (direction == num1226 && Math.Abs(base.Center.X - Main.player[target].Center.X) > (float)num1225)
30950 {
30951 this.ai[2] = 1f;
30952 flag40 = true;
30953 }
30954 if (Math.Abs(base.Center.Y - Main.player[target].Center.Y) > (float)num1225 * 1.5f)
30955 {
30956 this.ai[2] = 1f;
30957 flag40 = true;
30958 }
30959 if (num1212 > 0f && flag40)
30960 {
30961 velocity *= 0.5f;
30962 }
30963 if (this.ai[2] == 1f)
30964 {
30965 TargetClosest();
30967 localAI[0] = 0f;
30968 velocity *= 0.9f;
30969 float num1227 = 0.1f;
30970 if (Main.expertMode)
30971 {
30972 if (life < lifeMax / 2)
30973 {
30974 velocity *= 0.9f;
30975 num1227 += 0.05f;
30976 }
30977 if (life < lifeMax / 3)
30978 {
30979 velocity *= 0.9f;
30980 num1227 += 0.05f;
30981 }
30982 if (life < lifeMax / 5)
30983 {
30984 velocity *= 0.9f;
30985 num1227 += 0.05f;
30986 }
30987 }
30988 if (num1212 > 0f)
30989 {
30990 velocity *= 0.7f;
30991 }
30992 if (Math.Abs(velocity.X) + Math.Abs(velocity.Y) < num1227)
30993 {
30994 this.ai[2] = 0f;
30995 this.ai[1] += 1f;
30996 netUpdate = true;
30997 }
30998 }
30999 else
31000 {
31001 localAI[0] = 1f;
31002 }
31003 }
31004 else if (this.ai[0] == 2f)
31005 {
31006 TargetClosest();
31008 float num1228 = 12f;
31009 float num1230 = 0.07f;
31010 if (Main.expertMode)
31011 {
31012 num1230 = 0.1f;
31013 }
31014 Vector2 vector300 = default(Vector2);
31015 ((Vector2)(ref vector300))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
31016 float num1231 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector300.X;
31017 float num1232 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - 200f - vector300.Y;
31018 float num1233 = (float)Math.Sqrt(num1231 * num1231 + num1232 * num1232);
31019 if (num1233 < 200f)
31020 {
31021 this.ai[0] = 1f;
31022 this.ai[1] = 0f;
31023 netUpdate = true;
31024 return;
31025 }
31027 if (velocity.X < num1231)
31028 {
31029 velocity.X += num1230;
31030 if (velocity.X < 0f && num1231 > 0f)
31031 {
31032 velocity.X += num1230;
31033 }
31034 }
31035 else if (velocity.X > num1231)
31036 {
31037 velocity.X -= num1230;
31038 if (velocity.X > 0f && num1231 < 0f)
31039 {
31040 velocity.X -= num1230;
31041 }
31042 }
31043 if (velocity.Y < num1232)
31044 {
31045 velocity.Y += num1230;
31046 if (velocity.Y < 0f && num1232 > 0f)
31047 {
31048 velocity.Y += num1230;
31049 }
31050 }
31051 else if (velocity.Y > num1232)
31052 {
31053 velocity.Y -= num1230;
31054 if (velocity.Y > 0f && num1232 < 0f)
31055 {
31056 velocity.Y -= num1230;
31057 }
31058 }
31059 }
31060 else if (this.ai[0] == 1f)
31061 {
31062 localAI[0] = 0f;
31063 TargetClosest();
31064 Vector2 vector301 = default(Vector2);
31065 ((Vector2)(ref vector301))._002Ector(position.X + (float)(width / 2) + (float)(Main.rand.Next(20) * direction), position.Y + (float)height * 0.8f);
31066 Vector2 vector302 = default(Vector2);
31067 ((Vector2)(ref vector302))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
31068 float num1234 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector302.X;
31069 float num1235 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector302.Y;
31070 float num1236 = (float)Math.Sqrt(num1234 * num1234 + num1235 * num1235);
31071 this.ai[1] += 1f;
31072 if (Main.expertMode)
31073 {
31074 int num1237 = 0;
31075 for (int num1238 = 0; num1238 < 255; num1238++)
31076 {
31077 if (Main.player[num1238].active && !Main.player[num1238].dead)
31078 {
31079 val29 = base.Center - Main.player[num1238].Center;
31080 if (((Vector2)(ref val29)).Length() < 1000f)
31081 {
31082 num1237++;
31083 }
31084 }
31085 }
31086 this.ai[1] += num1237 / 2;
31087 if ((double)life < (double)lifeMax * 0.75)
31088 {
31089 this.ai[1] += 0.25f;
31090 }
31091 if ((double)life < (double)lifeMax * 0.5)
31092 {
31093 this.ai[1] += 0.25f;
31094 }
31095 if ((double)life < (double)lifeMax * 0.25)
31096 {
31097 this.ai[1] += 0.25f;
31098 }
31099 if ((double)life < (double)lifeMax * 0.1)
31100 {
31101 this.ai[1] += 0.25f;
31102 }
31103 }
31104 bool flag41 = false;
31105 int num1239 = (int)(40f - 18f * num1212);
31106 if (this.ai[1] > (float)num1239)
31107 {
31108 this.ai[1] = 0f;
31109 this.ai[2]++;
31110 flag41 = true;
31111 }
31112 if (Collision.CanHit(vector301, 1, 1, Main.player[target].position, Main.player[target].width, Main.player[target].height) && flag41)
31113 {
31114 SoundEngine.PlaySound(3, (int)position.X, (int)position.Y);
31115 if (Main.netMode != 1)
31116 {
31117 int num1241 = Main.rand.Next(210, 212);
31119 Main.npc[num1242].velocity = Main.player[target].Center - base.Center;
31120 ((Vector2)(ref Main.npc[num1242].velocity)).Normalize();
31121 NPC nPC12 = Main.npc[num1242];
31122 NPC nPC23 = nPC12;
31123 nPC23.velocity *= 5f;
31124 Main.npc[num1242].CanBeReplacedByOtherNPCs = true;
31125 Main.npc[num1242].localAI[0] = 60f;
31126 Main.npc[num1242].netUpdate = true;
31127 }
31128 }
31129 if (num1236 > 400f || !Collision.CanHit(new Vector2(vector301.X, vector301.Y - 30f), 1, 1, Main.player[target].position, Main.player[target].width, Main.player[target].height))
31130 {
31131 float num1243 = 14f;
31132 float num1244 = 0.1f;
31134 num1234 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector302.X;
31135 num1235 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector302.Y;
31136 num1236 = (float)Math.Sqrt(num1234 * num1234 + num1235 * num1235);
31138 if (velocity.X < num1234)
31139 {
31140 velocity.X += num1244;
31141 if (velocity.X < 0f && num1234 > 0f)
31142 {
31143 velocity.X += num1244;
31144 }
31145 }
31146 else if (velocity.X > num1234)
31147 {
31148 velocity.X -= num1244;
31149 if (velocity.X > 0f && num1234 < 0f)
31150 {
31151 velocity.X -= num1244;
31152 }
31153 }
31154 if (velocity.Y < num1235)
31155 {
31156 velocity.Y += num1244;
31157 if (velocity.Y < 0f && num1235 > 0f)
31158 {
31159 velocity.Y += num1244;
31160 }
31161 }
31162 else if (velocity.Y > num1235)
31163 {
31164 velocity.Y -= num1244;
31165 if (velocity.Y > 0f && num1235 < 0f)
31166 {
31167 velocity.Y -= num1244;
31168 }
31169 }
31170 }
31171 else
31172 {
31173 velocity *= 0.9f;
31174 }
31176 if (this.ai[2] > 5f)
31177 {
31178 this.ai[0] = -1f;
31179 this.ai[1] = 1f;
31180 netUpdate = true;
31181 }
31182 }
31183 else if (this.ai[0] == 3f)
31184 {
31185 float num1245 = 4f;
31186 float num1246 = 0.05f;
31187 if (Main.expertMode)
31188 {
31189 num1246 = 0.075f;
31190 num1245 = 6f;
31191 }
31192 num1246 += 0.2f * num1212;
31193 num1245 += 6f * num1212;
31194 Vector2 vector303 = default(Vector2);
31195 ((Vector2)(ref vector303))._002Ector(position.X + (float)(width / 2) + (float)(Main.rand.Next(20) * direction), position.Y + (float)height * 0.8f);
31196 Vector2 vector304 = default(Vector2);
31197 ((Vector2)(ref vector304))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
31198 float num1247 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector304.X;
31199 float num1248 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - 300f - vector304.Y;
31200 float num1249 = (float)Math.Sqrt(num1247 * num1247 + num1248 * num1248);
31201 this.ai[1] += 1f;
31202 bool flag42 = false;
31203 int num1250 = 40;
31204 if (Main.expertMode)
31205 {
31206 num1250 = (((double)life < (double)lifeMax * 0.1) ? 15 : ((life < lifeMax / 3) ? 25 : ((life >= lifeMax / 2) ? 35 : 30)));
31207 }
31208 num1250 -= (int)(5f * num1212);
31209 if (this.ai[1] % (float)num1250 == (float)(num1250 - 1) && position.Y + (float)height < Main.player[target].position.Y && Collision.CanHit(vector303, 1, 1, Main.player[target].position, Main.player[target].width, Main.player[target].height))
31210 {
31212 if (Main.netMode != 1)
31213 {
31214 float num1252 = 8f;
31215 if (Main.expertMode)
31216 {
31217 num1252 += 2f;
31218 }
31219 if (Main.expertMode && (double)life < (double)lifeMax * 0.1)
31220 {
31221 num1252 += 3f;
31222 }
31223 num1252 += 7f * num1212;
31224 int num1253 = (int)(80f - 39f * num1212);
31225 int num1254 = (int)(40f - 19f * num1212);
31226 if (num1253 < 1)
31227 {
31228 num1253 = 1;
31229 }
31230 if (num1254 < 1)
31231 {
31232 num1254 = 1;
31233 }
31234 float num1255 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector303.X + (float)Main.rand.Next(-num1253, num1253 + 1);
31235 float num1256 = Main.player[target].position.Y + (float)Main.player[target].height * 0.5f - vector303.Y + (float)Main.rand.Next(-num1254, num1254 + 1);
31236 float num1257 = (float)Math.Sqrt(num1255 * num1255 + num1256 * num1256);
31238 num1255 *= num1257;
31239 num1256 *= num1257;
31240 int num1258 = 11;
31241 int num1259 = 719;
31242 int num1260 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector303.X, vector303.Y, num1255, num1256, num1259, num1258, 0f, Main.myPlayer);
31243 Main.projectile[num1260].timeLeft = 300;
31244 }
31245 }
31246 if (!Collision.CanHit(new Vector2(vector303.X, vector303.Y - 30f), 1, 1, Main.player[target].position, Main.player[target].width, Main.player[target].height))
31247 {
31248 num1245 = 14f;
31249 num1246 = 0.1f;
31250 if (num1212 > 0f)
31251 {
31252 num1246 = 0.5f;
31253 }
31255 num1247 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector304.X;
31256 num1248 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector304.Y;
31257 num1249 = (float)Math.Sqrt(num1247 * num1247 + num1248 * num1248);
31259 if (velocity.X < num1247)
31260 {
31261 velocity.X += num1246;
31262 if (velocity.X < 0f && num1247 > 0f)
31263 {
31264 velocity.X += num1246;
31265 }
31266 }
31267 else if (velocity.X > num1247)
31268 {
31269 velocity.X -= num1246;
31270 if (velocity.X > 0f && num1247 < 0f)
31271 {
31272 velocity.X -= num1246;
31273 }
31274 }
31275 if (velocity.Y < num1248)
31276 {
31277 velocity.Y += num1246;
31278 if (velocity.Y < 0f && num1248 > 0f)
31279 {
31280 velocity.Y += num1246;
31281 }
31282 }
31283 else if (velocity.Y > num1248)
31284 {
31285 velocity.Y -= num1246;
31286 if (velocity.Y > 0f && num1248 < 0f)
31287 {
31288 velocity.Y -= num1246;
31289 }
31290 }
31291 }
31292 else if (num1249 > 100f)
31293 {
31294 TargetClosest();
31297 if (velocity.X < num1247)
31298 {
31299 velocity.X += num1246;
31300 if (velocity.X < 0f && num1247 > 0f)
31301 {
31302 velocity.X += num1246 * 2f;
31303 }
31304 }
31305 else if (velocity.X > num1247)
31306 {
31307 velocity.X -= num1246;
31308 if (velocity.X > 0f && num1247 < 0f)
31309 {
31310 velocity.X -= num1246 * 2f;
31311 }
31312 }
31313 if (velocity.Y < num1248)
31314 {
31315 velocity.Y += num1246;
31316 if (velocity.Y < 0f && num1248 > 0f)
31317 {
31318 velocity.Y += num1246 * 2f;
31319 }
31320 }
31321 else if (velocity.Y > num1248)
31322 {
31323 velocity.Y -= num1246;
31324 if (velocity.Y > 0f && num1248 < 0f)
31325 {
31326 velocity.Y -= num1246 * 2f;
31327 }
31328 }
31329 }
31330 float num1261 = 20f;
31331 num1261 -= 5f * num1212;
31332 if (this.ai[1] > (float)num1250 * num1261)
31333 {
31334 this.ai[0] = -1f;
31335 this.ai[1] = 3f;
31336 netUpdate = true;
31337 }
31338 }
31339 else if (this.ai[0] == 4f)
31340 {
31341 localAI[0] = 1f;
31342 float num1263 = 14f;
31343 float num1264 = 14f;
31344 Vector2 vector305 = Main.player[target].Center - base.Center;
31345 ((Vector2)(ref vector305)).Normalize();
31346 vector305 *= num1263;
31347 velocity = (velocity * num1264 + vector305) / (num1264 + 1f);
31348 if (velocity.X < 0f)
31349 {
31350 direction = -1;
31351 }
31352 else
31353 {
31354 direction = 1;
31355 }
31357 if (num1213 < 2000f)
31358 {
31359 this.ai[0] = -1f;
31360 localAI[0] = 0f;
31361 }
31362 }
31363 }
31364 else if (aiStyle == 44)
31365 {
31366 noGravity = true;
31367 if (collideX)
31368 {
31369 if (oldVelocity.X > 0f)
31370 {
31371 direction = -1;
31372 }
31373 else
31374 {
31375 direction = 1;
31376 }
31377 velocity.X = direction;
31378 }
31379 if (collideY)
31380 {
31381 if (oldVelocity.Y > 0f)
31382 {
31383 directionY = -1;
31384 }
31385 else
31386 {
31387 directionY = 1;
31388 }
31389 velocity.Y = directionY;
31390 }
31391 if (type == 587)
31392 {
31394 if (alpha == 255)
31395 {
31396 velocity.Y = -6f;
31397 netUpdate = true;
31398 for (int num1265 = 0; num1265 < 15; num1265++)
31399 {
31400 Vector2 val57 = position;
31401 int num1698 = width;
31402 int num1699 = height;
31403 newColor = default(Color);
31404 Dust dust70 = Dust.NewDustDirect(val57, num1698, num1699, 5, 0f, 0f, 0, newColor);
31405 Dust dust48 = dust70;
31406 Dust dust87 = dust48;
31407 dust87.velocity *= 0.5f;
31408 dust70.scale = 1f + Main.rand.NextFloat() * 0.5f;
31409 dust70.fadeIn = 1.5f + Main.rand.NextFloat() * 0.5f;
31410 dust48 = dust70;
31411 dust87 = dust48;
31412 dust87.velocity += velocity * 0.5f;
31413 }
31414 }
31415 alpha -= 15;
31416 if (alpha < 0)
31417 {
31418 alpha = 0;
31419 }
31420 if (alpha != 0)
31421 {
31422 for (int num1266 = 0; num1266 < 2; num1266++)
31423 {
31424 Vector2 val58 = position;
31425 int num1700 = width;
31426 int num1701 = height;
31427 newColor = default(Color);
31428 Dust dust80 = Dust.NewDustDirect(val58, num1700, num1701, 5, 0f, 0f, 0, newColor);
31429 Dust dust47 = dust80;
31430 Dust dust87 = dust47;
31431 dust87.velocity *= 1f;
31432 dust80.scale = 1f + Main.rand.NextFloat() * 0.5f;
31433 dust80.fadeIn = 1.5f + Main.rand.NextFloat() * 0.5f;
31434 dust47 = dust80;
31435 dust87 = dust47;
31436 dust87.velocity += velocity * 0.3f;
31437 }
31438 }
31439 if (Main.rand.Next(3) == 0)
31440 {
31441 Vector2 val59 = position;
31442 int num1702 = width;
31443 int num1703 = height;
31444 newColor = default(Color);
31445 Dust dust81 = Dust.NewDustDirect(val59, num1702, num1703, 5, 0f, 0f, 0, newColor);
31446 Dust dust46 = dust81;
31447 Dust dust87 = dust46;
31448 dust87.velocity *= 0f;
31449 dust81.alpha = 120;
31450 dust81.scale = 0.7f + Main.rand.NextFloat() * 0.5f;
31451 dust46 = dust81;
31452 dust87 = dust46;
31453 dust87.velocity += velocity * 0.3f;
31454 }
31456 }
31457 int num1267 = target;
31458 int num1268 = direction;
31459 if (target == 255 || (type != 587 && Main.player[target].wet) || Main.player[target].dead || Collision.CanHit(base.Center, 1, 1, Main.player[target].Center, 1, 1))
31460 {
31461 this.ai[0] = 90f;
31462 TargetClosest();
31463 }
31464 else if (this.ai[0] > 0f)
31465 {
31466 this.ai[0] -= 1f;
31467 TargetClosest();
31468 }
31469 if (netUpdate && num1267 == target && num1268 == direction)
31470 {
31471 netUpdate = false;
31472 }
31473 float num1269 = 0.05f;
31474 float num1270 = 0.01f;
31475 float num1271 = 3f;
31476 float num1272 = 1f;
31477 float num1275 = 30f;
31478 float num1276 = 100f;
31479 float num1277 = Math.Abs(position.X + (float)(width / 2) - (Main.player[target].position.X + (float)(Main.player[target].width / 2)));
31480 float num1278 = Main.player[target].position.Y - (float)(height / 2);
31481 if (type == 509)
31482 {
31483 num1269 = 0.08f;
31484 num1270 = 0.03f;
31485 num1271 = 4.5f;
31486 num1272 = 2f;
31487 num1275 = 40f;
31488 num1276 = 150f;
31489 num1278 = Main.player[target].Center.Y - (float)(height / 2);
31490 rotation = velocity.X * 0.1f;
31491 for (int num1279 = 0; num1279 < 200; num1279++)
31492 {
31493 if (num1279 != whoAmI && Main.npc[num1279].active && Main.npc[num1279].type == type && Math.Abs(position.X - Main.npc[num1279].position.X) + Math.Abs(position.Y - Main.npc[num1279].position.Y) < (float)width)
31494 {
31495 if (position.X < Main.npc[num1279].position.X)
31496 {
31497 velocity.X -= 0.05f;
31498 }
31499 else
31500 {
31501 velocity.X += 0.05f;
31502 }
31503 if (position.Y < Main.npc[num1279].position.Y)
31504 {
31505 velocity.Y -= 0.05f;
31506 }
31507 else
31508 {
31509 velocity.Y += 0.05f;
31510 }
31511 }
31512 }
31513 }
31514 else if (type == 581)
31515 {
31516 num1269 = 0.06f;
31517 num1270 = 0.02f;
31518 num1271 = 4f;
31519 num1272 = 2f;
31520 num1275 = 40f;
31521 num1276 = 150f;
31522 num1278 = Main.player[target].Center.Y - (float)(height / 2);
31523 rotation = velocity.X * 0.1f;
31524 for (int num1280 = 0; num1280 < 200; num1280++)
31525 {
31526 if (num1280 != whoAmI && Main.npc[num1280].active && Main.npc[num1280].type == type && Math.Abs(position.X - Main.npc[num1280].position.X) + Math.Abs(position.Y - Main.npc[num1280].position.Y) < (float)width)
31527 {
31528 if (position.X < Main.npc[num1280].position.X)
31529 {
31530 velocity.X -= 0.05f;
31531 }
31532 else
31533 {
31534 velocity.X += 0.05f;
31535 }
31536 if (position.Y < Main.npc[num1280].position.Y)
31537 {
31538 velocity.Y -= 0.05f;
31539 }
31540 else
31541 {
31542 velocity.Y += 0.05f;
31543 }
31544 }
31545 }
31546 }
31547 else if (type == 587)
31548 {
31549 num1269 = 0.13f;
31550 num1270 = 0.09f;
31551 num1271 = 6.5f;
31552 num1272 = 3.5f;
31553 num1275 = 0f;
31554 num1276 = 250f;
31555 num1278 = Main.player[target].position.Y;
31556 if (Main.dayTime)
31557 {
31558 num1278 = 0f;
31559 direction *= -1;
31560 }
31561 }
31562 if (this.ai[0] <= 0f)
31563 {
31564 num1271 *= 0.8f;
31565 num1269 *= 0.7f;
31566 num1278 = base.Center.Y + (float)(directionY * 1000);
31567 if (velocity.X < 0f)
31568 {
31569 direction = -1;
31570 }
31571 else if (velocity.X > 0f || direction == 0)
31572 {
31573 direction = 1;
31574 }
31575 }
31576 if (num1277 > num1275)
31577 {
31578 if (direction == -1 && velocity.X > 0f - num1271)
31579 {
31580 velocity.X -= num1269;
31581 if (velocity.X > num1271)
31582 {
31583 velocity.X -= num1269;
31584 }
31585 else if (velocity.X > 0f)
31586 {
31587 velocity.X -= num1269 / 2f;
31588 }
31589 if (velocity.X < 0f - num1271)
31590 {
31591 velocity.X = 0f - num1271;
31592 }
31593 }
31594 else if (direction == 1 && velocity.X < num1271)
31595 {
31596 velocity.X += num1269;
31597 if (velocity.X < 0f - num1271)
31598 {
31599 velocity.X += num1269;
31600 }
31601 else if (velocity.X < 0f)
31602 {
31603 velocity.X += num1269 / 2f;
31604 }
31605 if (velocity.X > num1271)
31606 {
31607 velocity.X = num1271;
31608 }
31609 }
31610 }
31611 if (num1277 > num1276)
31612 {
31613 num1278 -= num1276 / 2f;
31614 }
31615 if (position.Y < num1278)
31616 {
31617 velocity.Y += num1270;
31618 if (velocity.Y < 0f)
31619 {
31620 velocity.Y += num1270;
31621 }
31622 }
31623 else
31624 {
31625 velocity.Y -= num1270;
31626 if (velocity.Y > 0f)
31627 {
31628 velocity.Y -= num1270;
31629 }
31630 }
31631 if (velocity.Y < 0f - num1272)
31632 {
31633 velocity.Y = 0f - num1272;
31634 }
31635 if (velocity.Y > num1272)
31636 {
31637 velocity.Y = num1272;
31638 }
31639 if (type != 587 && wet)
31640 {
31641 if (velocity.Y > 0f)
31642 {
31643 velocity.Y *= 0.95f;
31644 }
31645 velocity.Y -= 0.5f;
31646 if (velocity.Y < -4f)
31647 {
31648 velocity.Y = -4f;
31649 }
31650 }
31651 }
31652 else if (aiStyle == 45)
31653 {
31654 AI_045_Golem();
31655 }
31656 else if (aiStyle == 46)
31657 {
31658 float num1281 = GetMyBalance();
31659 if (Main.getGoodWorld)
31660 {
31661 num1281 += 3f;
31662 }
31663 if ((!Main.player[target].ZoneLihzhardTemple && !Main.player[target].ZoneJungle) || (double)Main.player[target].Center.Y < Main.worldSurface * 16.0)
31664 {
31665 num1281 *= 2f;
31666 }
31667 noTileCollide = true;
31668 if (golemBoss < 0)
31669 {
31670 StrikeNPCNoInteraction(9999, 0f, 0);
31671 return;
31672 }
31673 float num1282 = 100f;
31674 Vector2 vector306 = default(Vector2);
31675 ((Vector2)(ref vector306))._002Ector(base.Center.X, base.Center.Y);
31676 float num1283 = Main.npc[golemBoss].Center.X - vector306.X;
31677 float num1284 = Main.npc[golemBoss].Center.Y - vector306.Y;
31678 num1284 -= 57f * scale;
31679 num1283 -= 3f * scale;
31680 float num1286 = (float)Math.Sqrt(num1283 * num1283 + num1284 * num1284);
31681 if (num1286 < num1282)
31682 {
31683 rotation = 0f;
31684 velocity.X = num1283;
31685 velocity.Y = num1284;
31686 }
31687 else
31688 {
31690 velocity.X = num1283 * num1286;
31691 velocity.Y = num1284 * num1286;
31692 rotation = velocity.X * 0.1f;
31693 }
31694 if (alpha > 0)
31695 {
31696 alpha -= 10;
31697 if (alpha < 0)
31698 {
31699 alpha = 0;
31700 }
31701 this.ai[1] = 30f;
31702 }
31703 if (this.ai[0] == 0f)
31704 {
31705 this.ai[1] += 1f;
31706 int num1287 = 300;
31707 if (this.ai[1] < 20f || this.ai[1] > (float)(num1287 - 20))
31708 {
31709 this.ai[1] += 2f * (num1281 - 1f) / 3f;
31710 localAI[0] = 1f;
31711 }
31712 else
31713 {
31714 this.ai[1] += 1f * (num1281 - 1f) / 2f;
31715 localAI[0] = 0f;
31716 }
31717 if (this.ai[1] >= (float)num1287)
31718 {
31719 TargetClosest();
31720 this.ai[1] = 0f;
31721 Vector2 vector308 = default(Vector2);
31722 ((Vector2)(ref vector308))._002Ector(base.Center.X, base.Center.Y + 10f * scale);
31723 float num1288 = 8f;
31724 float num1289 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector308.X;
31725 float num1290 = Main.player[target].position.Y + (float)Main.player[target].height * 0.5f - vector308.Y;
31726 float num1291 = (float)Math.Sqrt(num1289 * num1289 + num1290 * num1290);
31728 num1289 *= num1291;
31729 num1290 *= num1291;
31730 int num1292 = 18;
31731 int num1293 = 258;
31732 if (Main.netMode != 1)
31733 {
31734 int num1294 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector308.X, vector308.Y, num1289, num1290, num1293, num1292, 0f, Main.myPlayer);
31735 }
31736 }
31737 }
31738 else if (this.ai[0] == 1f)
31739 {
31740 TargetClosest();
31741 Vector2 vector309 = default(Vector2);
31742 ((Vector2)(ref vector309))._002Ector(base.Center.X, base.Center.Y + 10f * scale);
31743 if (Main.player[target].Center.X < base.Center.X - (float)width)
31744 {
31745 localAI[1] = -1f;
31746 vector309.X -= 40f * scale;
31747 }
31748 else if (Main.player[target].Center.X > base.Center.X + (float)width)
31749 {
31750 localAI[1] = 1f;
31751 vector309.X += 40f * scale;
31752 }
31753 else
31754 {
31755 localAI[1] = 0f;
31756 }
31757 float num1295 = (num1281 + 3f) / 4f;
31758 this.ai[1] += num1295;
31759 if ((double)life < (double)lifeMax * 0.4)
31760 {
31761 this.ai[1] += num1295;
31762 }
31763 if ((double)life < (double)lifeMax * 0.2)
31764 {
31765 this.ai[1] += num1295;
31766 }
31767 int num1297 = 300;
31768 if (this.ai[1] < 20f || this.ai[1] > (float)(num1297 - 20))
31769 {
31770 localAI[0] = 1f;
31771 }
31772 else
31773 {
31774 localAI[0] = 0f;
31775 }
31776 if (this.ai[1] >= (float)num1297)
31777 {
31778 TargetClosest();
31779 this.ai[1] = 0f;
31780 float num1298 = 8f;
31781 float num1299 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector309.X;
31782 float num1300 = Main.player[target].position.Y + (float)Main.player[target].height * 0.5f - vector309.Y;
31783 float num1301 = (float)Math.Sqrt(num1299 * num1299 + num1300 * num1300);
31785 num1299 *= num1301;
31786 num1300 *= num1301;
31787 int num1302 = 24;
31788 int num1303 = 258;
31789 if (Main.netMode != 1)
31790 {
31791 int num1304 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector309.X, vector309.Y, num1299, num1300, num1303, num1302, 0f, Main.myPlayer);
31792 }
31793 }
31794 this.ai[2] += num1295;
31795 if (life < lifeMax / 3)
31796 {
31797 this.ai[2] += num1295;
31798 }
31799 if (life < lifeMax / 4)
31800 {
31801 this.ai[2] += num1295;
31802 }
31803 if (life < lifeMax / 5)
31804 {
31805 this.ai[2] += num1295;
31806 }
31807 if (!Collision.CanHit(base.Center, 1, 1, Main.player[target].Center, 1, 1))
31808 {
31809 this.ai[2] += 4f;
31810 }
31811 if (this.ai[2] > (float)(60 + Main.rand.Next(600)))
31812 {
31813 this.ai[2] = 0f;
31814 int num1305 = 28;
31815 int num1306 = 259;
31816 if (localAI[1] == 0f)
31817 {
31818 for (int num1308 = 0; num1308 < 2; num1308++)
31819 {
31820 ((Vector2)(ref vector309))._002Ector(base.Center.X, base.Center.Y - 22f * scale);
31821 if (num1308 == 0)
31822 {
31823 vector309.X -= 18f * scale;
31824 }
31825 else
31826 {
31827 vector309.X += 18f * scale;
31828 }
31829 float num1309 = 11f;
31830 float num1310 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector309.X;
31831 float num1311 = Main.player[target].position.Y + (float)Main.player[target].height * 0.5f - vector309.Y;
31832 float num1312 = (float)Math.Sqrt(num1310 * num1310 + num1311 * num1311);
31834 num1310 *= num1312;
31835 num1311 *= num1312;
31836 vector309.X += num1310 * 3f;
31837 vector309.Y += num1311 * 3f;
31838 if (Main.netMode != 1)
31839 {
31840 int num1313 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector309.X, vector309.Y, num1310, num1311, num1306, num1305, 0f, Main.myPlayer);
31841 Main.projectile[num1313].timeLeft = 300;
31842 }
31843 }
31844 }
31845 else if (localAI[1] != 0f)
31846 {
31847 ((Vector2)(ref vector309))._002Ector(base.Center.X, base.Center.Y - 22f * scale);
31848 if (localAI[1] == -1f)
31849 {
31850 vector309.X -= 30f * scale;
31851 }
31852 else if (localAI[1] == 1f)
31853 {
31854 vector309.X += 30f * scale;
31855 }
31856 float num1314 = 12f;
31857 float num1315 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector309.X;
31858 float num1316 = Main.player[target].position.Y + (float)Main.player[target].height * 0.5f - vector309.Y;
31859 float num1317 = (float)Math.Sqrt(num1315 * num1315 + num1316 * num1316);
31861 num1315 *= num1317;
31862 num1316 *= num1317;
31863 vector309.X += num1315 * 3f;
31864 vector309.Y += num1316 * 3f;
31865 if (Main.netMode != 1)
31866 {
31867 int num1319 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector309.X, vector309.Y, num1315, num1316, num1306, num1305, 0f, Main.myPlayer);
31868 Main.projectile[num1319].timeLeft = 300;
31869 }
31870 }
31871 }
31872 }
31873 if (life < lifeMax / 2)
31874 {
31875 this.ai[0] = 1f;
31876 }
31877 else
31878 {
31879 this.ai[0] = 0f;
31880 }
31881 }
31882 else if (aiStyle == 47)
31883 {
31885 }
31886 else if (aiStyle == 48)
31887 {
31888 bool flag43 = false;
31889 float num1320 = GetMyBalance();
31890 if (Main.getGoodWorld)
31891 {
31892 num1320 += 3f;
31893 }
31894 if ((!Main.player[target].ZoneLihzhardTemple && !Main.player[target].ZoneJungle) || (double)Main.player[target].Center.Y < Main.worldSurface * 16.0)
31895 {
31896 num1320 *= 2f;
31897 }
31898 if (!Collision.CanHit(base.Center, 1, 1, Main.player[target].Center, 1, 1))
31899 {
31900 noTileCollide = true;
31901 flag43 = true;
31902 }
31903 else if (noTileCollide && Collision.SolidTiles(position, width, height))
31904 {
31905 noTileCollide = false;
31906 }
31907 if (golemBoss < 0)
31908 {
31909 StrikeNPCNoInteraction(9999, 0f, 0);
31910 return;
31911 }
31912 TargetClosest();
31913 float num1321 = 7f;
31914 float num1322 = 0.05f;
31915 Vector2 vector310 = default(Vector2);
31916 ((Vector2)(ref vector310))._002Ector(base.Center.X, base.Center.Y);
31917 float num1323 = Main.player[target].Center.X - vector310.X;
31918 float num1324 = Main.player[target].Center.Y - vector310.Y - 300f;
31919 float num1325 = (float)Math.Sqrt(num1323 * num1323 + num1324 * num1324);
31921 num1323 *= num1325;
31922 num1324 *= num1325;
31923 if (velocity.X < num1323)
31924 {
31925 velocity.X += num1322;
31926 if (velocity.X < 0f && num1323 > 0f)
31927 {
31928 velocity.X += num1322;
31929 }
31930 }
31931 else if (velocity.X > num1323)
31932 {
31933 velocity.X -= num1322;
31934 if (velocity.X > 0f && num1323 < 0f)
31935 {
31936 velocity.X -= num1322;
31937 }
31938 }
31939 if (velocity.Y < num1324)
31940 {
31941 velocity.Y += num1322;
31942 if (velocity.Y < 0f && num1324 > 0f)
31943 {
31944 velocity.Y += num1322;
31945 }
31946 }
31947 else if (velocity.Y > num1324)
31948 {
31949 velocity.Y -= num1322;
31950 if (velocity.Y > 0f && num1324 < 0f)
31951 {
31952 velocity.Y -= num1322;
31953 }
31954 }
31955 float num1326 = (num1320 + 4f) / 5f;
31956 this.ai[1] += num1326;
31957 if ((double)Main.npc[golemBoss].life < (double)Main.npc[golemBoss].lifeMax * 0.8)
31958 {
31959 this.ai[1] += num1326;
31960 }
31961 if ((double)Main.npc[golemBoss].life < (double)Main.npc[golemBoss].lifeMax * 0.6)
31962 {
31963 this.ai[1] += num1326;
31964 }
31965 if ((double)Main.npc[golemBoss].life < (double)Main.npc[golemBoss].lifeMax * 0.2)
31966 {
31967 this.ai[1] += num1326;
31968 }
31969 if ((double)Main.npc[golemBoss].life < (double)Main.npc[golemBoss].lifeMax * 0.1)
31970 {
31971 this.ai[1] += num1326;
31972 }
31973 int num1327 = 300;
31974 if (this.ai[1] < 20f || this.ai[1] > (float)(num1327 - 20))
31975 {
31976 localAI[0] = 1f;
31977 }
31978 else
31979 {
31980 localAI[0] = 0f;
31981 }
31982 if (flag43)
31983 {
31984 this.ai[1] = 20f;
31985 }
31986 if (this.ai[1] >= (float)num1327)
31987 {
31988 TargetClosest();
31989 this.ai[1] = 0f;
31990 Vector2 vector311 = default(Vector2);
31991 ((Vector2)(ref vector311))._002Ector(base.Center.X, base.Center.Y - 10f * scale);
31992 float num1328 = 8f;
31993 int num1330 = 20;
31994 int num1331 = 258;
31995 float num1332 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector311.X;
31996 float num1333 = Main.player[target].position.Y + (float)Main.player[target].height * 0.5f - vector311.Y;
31997 float num1334 = (float)Math.Sqrt(num1332 * num1332 + num1333 * num1333);
31999 num1332 *= num1334;
32000 num1333 *= num1334;
32001 if (Main.netMode != 1)
32002 {
32003 int num1335 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector311.X, vector311.Y, num1332, num1333, num1331, num1330, 0f, Main.myPlayer);
32004 }
32005 }
32006 float num1336 = num1320;
32007 this.ai[2] += num1336;
32008 if ((double)Main.npc[golemBoss].life < (double)Main.npc[golemBoss].lifeMax / 1.25)
32009 {
32010 this.ai[2] += num1336;
32011 }
32012 if ((double)Main.npc[golemBoss].life < (double)Main.npc[golemBoss].lifeMax / 1.5)
32013 {
32014 this.ai[2] += num1336;
32015 }
32016 if (Main.npc[golemBoss].life < Main.npc[golemBoss].lifeMax / 2)
32017 {
32018 this.ai[2] += num1336;
32019 }
32020 if (Main.npc[golemBoss].life < Main.npc[golemBoss].lifeMax / 3)
32021 {
32022 this.ai[2] += num1336;
32023 }
32024 if (Main.npc[golemBoss].life < Main.npc[golemBoss].lifeMax / 4)
32025 {
32026 this.ai[2] += num1336;
32027 }
32028 if (Main.npc[golemBoss].life < Main.npc[golemBoss].lifeMax / 5)
32029 {
32030 this.ai[2] += num1336;
32031 }
32032 if (Main.npc[golemBoss].life < Main.npc[golemBoss].lifeMax / 6)
32033 {
32034 this.ai[2] += num1336;
32035 }
32036 bool flag44 = false;
32037 if (!Collision.CanHit(Main.npc[golemBoss].Center, 1, 1, Main.player[target].Center, 1, 1))
32038 {
32039 flag44 = true;
32040 }
32041 if (flag44)
32042 {
32043 this.ai[2] += num1336 * 10f;
32044 }
32045 if (this.ai[2] > (float)(100 + Main.rand.Next(4800)))
32046 {
32047 this.ai[2] = 0f;
32048 Vector2 vector312 = default(Vector2);
32049 for (int num1337 = 0; num1337 < 2; num1337++)
32050 {
32051 ((Vector2)(ref vector312))._002Ector(base.Center.X, base.Center.Y - 50f * scale);
32052 switch (num1337)
32053 {
32054 case 0:
32055 vector312.X -= 14f * scale;
32056 break;
32057 case 1:
32058 vector312.X += 14f * scale;
32059 break;
32060 }
32061 float num1338 = 11f;
32062 int num1339 = 24;
32063 int num1341 = 259;
32064 if ((double)Main.npc[golemBoss].life < (double)Main.npc[golemBoss].lifeMax * 0.5)
32065 {
32066 num1339++;
32067 num1338 += 0.25f;
32068 }
32069 if ((double)Main.npc[golemBoss].life < (double)Main.npc[golemBoss].lifeMax * 0.4)
32070 {
32071 num1339++;
32072 num1338 += 0.25f;
32073 }
32074 if ((double)Main.npc[golemBoss].life < (double)Main.npc[golemBoss].lifeMax * 0.3)
32075 {
32076 num1339++;
32077 num1338 += 0.25f;
32078 }
32079 if ((double)Main.npc[golemBoss].life < (double)Main.npc[golemBoss].lifeMax * 0.2)
32080 {
32081 num1339++;
32082 num1338 += 0.25f;
32083 }
32084 if ((double)Main.npc[golemBoss].life < (double)Main.npc[golemBoss].lifeMax * 0.1)
32085 {
32086 num1339++;
32087 num1338 += 0.25f;
32088 }
32089 float num1342 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f;
32090 float num1343 = Main.player[target].position.Y + (float)Main.player[target].height * 0.5f;
32091 if (flag44)
32092 {
32093 num1339 = (int)((double)num1339 * 1.5);
32094 num1338 *= 2.5f;
32095 num1342 += Main.player[target].velocity.X * Main.rand.NextFloat() * 50f;
32096 num1343 += Main.player[target].velocity.Y * Main.rand.NextFloat() * 50f;
32097 }
32098 num1342 -= vector312.X;
32099 num1343 -= vector312.Y;
32100 float num1344 = (float)Math.Sqrt(num1342 * num1342 + num1343 * num1343);
32102 num1342 *= num1344;
32103 num1343 *= num1344;
32104 vector312.X += num1342 * 3f;
32105 vector312.Y += num1343 * 3f;
32106 if (Main.netMode != 1)
32107 {
32108 int num1345 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector312.X, vector312.Y, num1342, num1343, num1341, num1339, 0f, Main.myPlayer);
32109 Main.projectile[num1345].timeLeft = 300;
32110 }
32111 }
32112 }
32113 if (!Main.getGoodWorld)
32114 {
32116 int num1346 = Main.rand.Next(2) * 2 - 1;
32117 Vector2 vector313 = base.Bottom + new Vector2((float)(num1346 * 22) * scale, -22f * scale);
32118 Vector2? val60 = ((float)Math.PI / 2f + -(float)Math.PI / 2f * (float)num1346 + Main.rand.NextFloatDirection() * ((float)Math.PI / 4f)).ToRotationVector2() * (2f + Main.rand.NextFloat());
32119 newColor = default(Color);
32120 Dust dust82 = Dust.NewDustPerfect(vector313, 228, val60, 0, newColor);
32121 Dust dust49 = dust82;
32122 Dust dust87 = dust49;
32123 dust87.velocity += velocity;
32124 dust82.noGravity = true;
32125 Vector2 val61 = base.Bottom + new Vector2(Main.rand.NextFloatDirection() * 6f * scale, (Main.rand.NextFloat() * -4f - 8f) * scale);
32126 Vector2? val62 = Vector2.UnitY * (2f + Main.rand.NextFloat());
32127 newColor = default(Color);
32128 dust82 = Dust.NewDustPerfect(val61, 228, val62, 0, newColor);
32129 dust82.fadeIn = 0f;
32130 dust82.scale = 0.7f + Main.rand.NextFloat() * 0.5f;
32131 dust82.noGravity = true;
32132 dust49 = dust82;
32133 dust87 = dust49;
32134 dust87.velocity += velocity;
32136 }
32137 }
32138 else if (aiStyle == 49)
32139 {
32140 noGravity = true;
32141 TargetClosest();
32142 float num1347 = 4f;
32143 float num1348 = 0.25f;
32144 Vector2 vector314 = default(Vector2);
32145 ((Vector2)(ref vector314))._002Ector(base.Center.X, base.Center.Y);
32146 float num1349 = Main.player[target].Center.X - vector314.X;
32147 float num1350 = Main.player[target].Center.Y - vector314.Y - 200f;
32148 float num1352 = (float)Math.Sqrt(num1349 * num1349 + num1350 * num1350);
32149 if (num1352 < 20f)
32150 {
32151 num1349 = velocity.X;
32152 num1350 = velocity.Y;
32153 }
32154 else
32155 {
32157 num1349 *= num1352;
32158 num1350 *= num1352;
32159 }
32160 if (velocity.X < num1349)
32161 {
32162 velocity.X += num1348;
32163 if (velocity.X < 0f && num1349 > 0f)
32164 {
32165 velocity.X += num1348 * 2f;
32166 }
32167 }
32168 else if (velocity.X > num1349)
32169 {
32170 velocity.X -= num1348;
32171 if (velocity.X > 0f && num1349 < 0f)
32172 {
32173 velocity.X -= num1348 * 2f;
32174 }
32175 }
32176 if (velocity.Y < num1350)
32177 {
32178 velocity.Y += num1348;
32179 if (velocity.Y < 0f && num1350 > 0f)
32180 {
32181 velocity.Y += num1348 * 2f;
32182 }
32183 }
32184 else if (velocity.Y > num1350)
32185 {
32186 velocity.Y -= num1348;
32187 if (velocity.Y > 0f && num1350 < 0f)
32188 {
32189 velocity.Y -= num1348 * 2f;
32190 }
32191 }
32192 if (position.X + (float)width > Main.player[target].position.X && position.X < Main.player[target].position.X + (float)Main.player[target].width && position.Y + (float)height < Main.player[target].position.Y && Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height) && Main.netMode != 1)
32193 {
32194 this.ai[0] += 1f;
32195 if (this.ai[0] > 8f)
32196 {
32197 this.ai[0] = 0f;
32198 int num1353 = (int)(position.X + 10f + (float)Main.rand.Next(width - 20));
32199 int num1354 = (int)(position.Y + (float)height + 4f);
32200 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), num1353, num1354, 0f, 5f, 264, 20, 0f, Main.myPlayer);
32201 }
32202 }
32203 }
32204 else if (aiStyle == 50)
32205 {
32207 if (type == 261)
32208 {
32209 noTileCollide = false;
32210 if (collideX || collideY)
32211 {
32212 life = 0;
32213 HitEffect(0, 100.0);
32214 checkDead();
32215 return;
32216 }
32217 }
32218 else
32219 {
32220 noTileCollide = true;
32221 }
32222 velocity.Y += 0.02f;
32223 TargetClosest();
32224 if (velocity.Y < 0f && Main.player[target].position.Y > position.Y + 100f)
32225 {
32226 velocity.Y *= 0.95f;
32227 }
32228 if (velocity.Y > 1f)
32229 {
32230 velocity.Y = 1f;
32231 }
32232 if (position.X + (float)width < Main.player[target].position.X)
32233 {
32234 if (velocity.X < 0f)
32235 {
32236 velocity.X *= 0.98f;
32237 }
32238 if (Main.expertMode && velocity.X < 0f)
32239 {
32240 velocity.X *= 0.98f;
32241 }
32242 velocity.X += 0.1f;
32243 if (Main.expertMode)
32244 {
32245 velocity.X += 0.1f;
32246 }
32247 }
32248 else if (position.X > Main.player[target].position.X + (float)Main.player[target].width)
32249 {
32250 if (velocity.X > 0f)
32251 {
32252 velocity.X *= 0.98f;
32253 }
32254 if (Main.expertMode && velocity.X > 0f)
32255 {
32256 velocity.X *= 0.98f;
32257 }
32258 velocity.X -= 0.1f;
32259 if (Main.expertMode)
32260 {
32261 velocity.X -= 0.1f;
32262 }
32263 }
32264 if (velocity.X > 5f || velocity.X < -5f)
32265 {
32266 velocity.X *= 0.97f;
32267 }
32268 rotation = velocity.X * 0.2f;
32269 }
32270 else if (aiStyle == 51)
32271 {
32272 bool flag45 = false;
32273 bool flag47 = false;
32274 TargetClosest();
32275 if (Main.player[target].dead)
32276 {
32277 flag47 = true;
32278 flag45 = true;
32279 }
32280 else if (Main.netMode != 1 && target >= 0 && target < 255)
32281 {
32282 int num1355 = 4800;
32283 if (timeLeft < activeTime && Vector2.Distance(base.Center, Main.player[target].Center) < (float)num1355)
32284 {
32286 }
32287 }
32288 plantBoss = whoAmI;
32289 if (localAI[0] == 0f && Main.netMode != 1)
32290 {
32291 localAI[0] = 1f;
32292 int num1356 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)base.Center.X, (int)base.Center.Y, 263, whoAmI);
32293 num1356 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)base.Center.X, (int)base.Center.Y, 263, whoAmI);
32294 num1356 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)base.Center.X, (int)base.Center.Y, 263, whoAmI);
32295 }
32296 int[] array2 = new int[3];
32297 float num1357 = 0f;
32298 float num1358 = 0f;
32299 int num1359 = 0;
32300 for (int num1360 = 0; num1360 < 200; num1360++)
32301 {
32302 if (Main.npc[num1360].active && Main.npc[num1360].aiStyle == 52)
32303 {
32304 num1357 += Main.npc[num1360].Center.X;
32305 num1358 += Main.npc[num1360].Center.Y;
32307 num1359++;
32308 if (num1359 > 2)
32309 {
32310 break;
32311 }
32312 }
32313 }
32314 num1357 /= (float)num1359;
32315 num1358 /= (float)num1359;
32316 float num1361 = 2.5f;
32317 float num1363 = 0.025f;
32318 if (life < lifeMax / 2)
32319 {
32320 num1361 = 5f;
32321 num1363 = 0.05f;
32322 }
32323 if (life < lifeMax / 4)
32324 {
32325 num1361 = 7f;
32326 }
32327 if (!Main.player[target].ZoneJungle || (double)Main.player[target].position.Y < Main.worldSurface * 16.0 || Main.player[target].position.Y > (float)(Main.UnderworldLayer * 16))
32328 {
32329 flag45 = true;
32330 num1361 += 8f;
32331 num1363 = 0.15f;
32332 }
32333 if (Main.expertMode)
32334 {
32335 num1361 += 1f;
32336 num1361 *= 1.1f;
32337 num1363 += 0.01f;
32338 num1363 *= 1.1f;
32339 }
32340 if (Main.getGoodWorld)
32341 {
32342 num1361 *= 1.15f;
32343 num1363 *= 1.15f;
32344 }
32345 Vector2 vector315 = default(Vector2);
32346 ((Vector2)(ref vector315))._002Ector(num1357, num1358);
32347 float num1364 = Main.player[target].Center.X - vector315.X;
32348 float num1365 = Main.player[target].Center.Y - vector315.Y;
32349 if (flag47)
32350 {
32351 num1365 *= -1f;
32352 num1364 *= -1f;
32353 num1361 += 8f;
32354 }
32355 float num1366 = (float)Math.Sqrt(num1364 * num1364 + num1365 * num1365);
32356 int num1367 = 500;
32357 if (flag45)
32358 {
32359 num1367 += 350;
32360 }
32361 if (Main.expertMode)
32362 {
32363 num1367 += 150;
32364 }
32365 if (num1366 >= (float)num1367)
32366 {
32367 num1366 = (float)num1367 / num1366;
32368 num1364 *= num1366;
32369 num1365 *= num1366;
32370 }
32371 num1357 += num1364;
32372 num1358 += num1365;
32373 ((Vector2)(ref vector315))._002Ector(base.Center.X, base.Center.Y);
32376 num1366 = (float)Math.Sqrt(num1364 * num1364 + num1365 * num1365);
32377 if (num1366 < num1361)
32378 {
32379 num1364 = velocity.X;
32380 num1365 = velocity.Y;
32381 }
32382 else
32383 {
32385 num1364 *= num1366;
32386 num1365 *= num1366;
32387 }
32388 if (velocity.X < num1364)
32389 {
32390 velocity.X += num1363;
32391 if (velocity.X < 0f && num1364 > 0f)
32392 {
32393 velocity.X += num1363 * 2f;
32394 }
32395 }
32396 else if (velocity.X > num1364)
32397 {
32398 velocity.X -= num1363;
32399 if (velocity.X > 0f && num1364 < 0f)
32400 {
32401 velocity.X -= num1363 * 2f;
32402 }
32403 }
32404 if (velocity.Y < num1365)
32405 {
32406 velocity.Y += num1363;
32407 if (velocity.Y < 0f && num1365 > 0f)
32408 {
32409 velocity.Y += num1363 * 2f;
32410 }
32411 }
32412 else if (velocity.Y > num1365)
32413 {
32414 velocity.Y -= num1363;
32415 if (velocity.Y > 0f && num1365 < 0f)
32416 {
32417 velocity.Y -= num1363 * 2f;
32418 }
32419 }
32420 Vector2 vector316 = default(Vector2);
32421 ((Vector2)(ref vector316))._002Ector(base.Center.X, base.Center.Y);
32422 float num1368 = Main.player[target].Center.X - vector316.X;
32423 float num1369 = Main.player[target].Center.Y - vector316.Y;
32424 rotation = (float)Math.Atan2(num1369, num1368) + 1.57f;
32425 if (life > lifeMax / 2)
32426 {
32427 defense = 36;
32428 int num1370 = 50;
32429 if (flag45)
32430 {
32431 defense *= 2;
32432 num1370 *= 2;
32433 }
32435 if (Main.netMode == 1)
32436 {
32437 return;
32438 }
32439 localAI[1] += 1f;
32440 if ((double)life < (double)lifeMax * 0.9)
32441 {
32442 localAI[1] += 1f;
32443 }
32444 if ((double)life < (double)lifeMax * 0.8)
32445 {
32446 localAI[1] += 1f;
32447 }
32448 if ((double)life < (double)lifeMax * 0.7)
32449 {
32450 localAI[1] += 1f;
32451 }
32452 if ((double)life < (double)lifeMax * 0.6)
32453 {
32454 localAI[1] += 1f;
32455 }
32456 if (flag45)
32457 {
32458 localAI[1] += 3f;
32459 }
32460 if (Main.expertMode)
32461 {
32462 localAI[1] += 1f;
32463 }
32464 if (Main.expertMode && justHit && Main.rand.Next(2) == 0)
32465 {
32466 localAI[3] = 1f;
32467 }
32468 if (Main.getGoodWorld)
32469 {
32470 localAI[1] += 1f;
32471 }
32472 if (!(localAI[1] > 80f))
32473 {
32474 return;
32475 }
32476 localAI[1] = 0f;
32477 bool flag48 = Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height);
32478 if (localAI[3] > 0f)
32479 {
32480 flag48 = true;
32481 localAI[3] = 0f;
32482 }
32483 if (flag48)
32484 {
32485 Vector2 vector317 = default(Vector2);
32486 ((Vector2)(ref vector317))._002Ector(base.Center.X, base.Center.Y);
32487 float num1371 = 15f;
32488 if (Main.expertMode)
32489 {
32490 num1371 = 17f;
32491 }
32492 float num1372 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector317.X;
32493 float num1374 = Main.player[target].position.Y + (float)Main.player[target].height * 0.5f - vector317.Y;
32494 float num1375 = (float)Math.Sqrt(num1372 * num1372 + num1374 * num1374);
32496 num1372 *= num1375;
32497 num1374 *= num1375;
32498 int num1376 = 22;
32499 int num1377 = 275;
32500 int maxValue2 = 4;
32501 int maxValue3 = 8;
32502 if (Main.expertMode)
32503 {
32504 maxValue2 = 2;
32505 maxValue3 = 6;
32506 }
32507 if ((double)life < (double)lifeMax * 0.8 && Main.rand.Next(maxValue2) == 0)
32508 {
32509 num1376 = 27;
32510 localAI[1] = -30f;
32511 num1377 = 276;
32512 }
32513 else if ((double)life < (double)lifeMax * 0.8 && Main.rand.Next(maxValue3) == 0)
32514 {
32515 num1376 = 31;
32516 localAI[1] = -120f;
32517 num1377 = 277;
32518 }
32519 if (flag45)
32520 {
32521 num1376 *= 2;
32522 }
32524 vector317.X += num1372 * 3f;
32525 vector317.Y += num1374 * 3f;
32526 int num1378 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector317.X, vector317.Y, num1372, num1374, num1377, num1376, 0f, Main.myPlayer);
32527 if (num1377 != 277)
32528 {
32529 Main.projectile[num1378].timeLeft = 300;
32530 }
32531 }
32532 return;
32533 }
32534 defense = 10;
32535 int num1379 = 70;
32536 if (flag45)
32537 {
32538 defense *= 4;
32539 num1379 *= 2;
32540 }
32542 if (Main.netMode != 1)
32543 {
32544 if (localAI[0] == 1f)
32545 {
32546 localAI[0] = 2f;
32547 int num1380 = 8;
32548 if (Main.getGoodWorld)
32549 {
32550 num1380 += 6;
32551 }
32552 for (int num1381 = 0; num1381 < num1380; num1381++)
32553 {
32554 int num1382 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)base.Center.X, (int)base.Center.Y, 264, whoAmI);
32555 }
32556 if (Main.expertMode)
32557 {
32558 for (int num1383 = 0; num1383 < 200; num1383++)
32559 {
32560 if (Main.npc[num1383].active && Main.npc[num1383].aiStyle == 52)
32561 {
32562 for (int num1386 = 0; num1386 < num1380 / 2 - 1; num1386++)
32563 {
32564 int num1387 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)base.Center.X, (int)base.Center.Y, 264, whoAmI);
32565 Main.npc[num1387].ai[3] = num1383 + 1;
32566 }
32567 }
32568 }
32569 }
32570 }
32571 else if (Main.expertMode && Main.rand.Next(60) == 0)
32572 {
32573 int num1388 = 0;
32574 for (int num1389 = 0; num1389 < 200; num1389++)
32575 {
32576 if (Main.npc[num1389].active && Main.npc[num1389].type == 264 && Main.npc[num1389].ai[3] == 0f)
32577 {
32578 num1388++;
32579 }
32580 }
32581 if (num1388 < 8 && Main.rand.Next((num1388 + 1) * 10) <= 1)
32582 {
32583 int num1390 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)base.Center.X, (int)base.Center.Y, 264, whoAmI);
32584 }
32585 }
32586 }
32587 if (localAI[2] == 0f)
32588 {
32589 Gore.NewGore(new Vector2(position.X + (float)Main.rand.Next(width), position.Y + (float)Main.rand.Next(height)), velocity, 378, scale);
32590 Gore.NewGore(new Vector2(position.X + (float)Main.rand.Next(width), position.Y + (float)Main.rand.Next(height)), velocity, 379, scale);
32591 Gore.NewGore(new Vector2(position.X + (float)Main.rand.Next(width), position.Y + (float)Main.rand.Next(height)), velocity, 380, scale);
32592 localAI[2] = 1f;
32593 }
32594 if (Main.netMode == 1)
32595 {
32596 return;
32597 }
32598 localAI[1] += 1f;
32599 if ((double)life < (double)lifeMax * 0.4)
32600 {
32601 localAI[1] += 1f;
32602 }
32603 if ((double)life < (double)lifeMax * 0.3)
32604 {
32605 localAI[1] += 1f;
32606 }
32607 if ((double)life < (double)lifeMax * 0.2)
32608 {
32609 localAI[1] += 1f;
32610 }
32611 if ((double)life < (double)lifeMax * 0.1)
32612 {
32613 localAI[1] += 1f;
32614 }
32615 if (localAI[1] >= 350f)
32616 {
32617 float num1391 = 8f;
32618 Vector2 vector3 = default(Vector2);
32619 ((Vector2)(ref vector3))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
32620 float num1392 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector3.X + (float)Main.rand.Next(-10, 11);
32621 float num1393 = Math.Abs(num1392 * 0.2f);
32622 float num1394 = Main.player[target].position.Y + (float)Main.player[target].height * 0.5f - vector3.Y + (float)Main.rand.Next(-10, 11);
32623 if (num1394 > 0f)
32624 {
32625 num1393 = 0f;
32626 }
32627 num1394 -= num1393;
32628 float num1395 = (float)Math.Sqrt(num1392 * num1392 + num1394 * num1394);
32630 num1392 *= num1395;
32631 num1394 *= num1395;
32632 int num1397 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)base.Center.X, (int)base.Center.Y, 265);
32633 Main.npc[num1397].velocity.X = num1392;
32634 Main.npc[num1397].velocity.Y = num1394;
32635 Main.npc[num1397].netUpdate = true;
32636 localAI[1] = 0f;
32637 }
32638 }
32639 else if (aiStyle == 52)
32640 {
32641 bool flag49 = false;
32642 bool flag50 = false;
32643 if (plantBoss < 0)
32644 {
32645 StrikeNPCNoInteraction(9999, 0f, 0);
32646 netUpdate = true;
32647 return;
32648 }
32649 if (Main.player[Main.npc[plantBoss].target].dead)
32650 {
32651 flag50 = true;
32652 }
32653 if ((plantBoss != -1 && !Main.player[Main.npc[plantBoss].target].ZoneJungle) || (double)Main.player[Main.npc[plantBoss].target].position.Y < Main.worldSurface * 16.0 || Main.player[Main.npc[plantBoss].target].position.Y > (float)(Main.UnderworldLayer * 16) || flag50)
32654 {
32655 localAI[0] -= 4f;
32656 flag49 = true;
32657 }
32658 if (Main.netMode == 1)
32659 {
32660 if (this.ai[0] == 0f)
32661 {
32662 this.ai[0] = (int)(base.Center.X / 16f);
32663 }
32664 if (this.ai[1] == 0f)
32665 {
32666 this.ai[1] = (int)(base.Center.X / 16f);
32667 }
32668 }
32669 if (Main.netMode != 1)
32670 {
32671 if (this.ai[0] == 0f || this.ai[1] == 0f)
32672 {
32673 localAI[0] = 0f;
32674 }
32675 localAI[0] -= 1f;
32676 if (Main.npc[plantBoss].life < Main.npc[plantBoss].lifeMax / 2)
32677 {
32678 localAI[0] -= 2f;
32679 }
32680 if (Main.npc[plantBoss].life < Main.npc[plantBoss].lifeMax / 4)
32681 {
32682 localAI[0] -= 2f;
32683 }
32684 if (flag49)
32685 {
32686 localAI[0] -= 6f;
32687 }
32688 if (!flag50 && localAI[0] <= 0f && this.ai[0] != 0f)
32689 {
32690 for (int num1398 = 0; num1398 < 200; num1398++)
32691 {
32692 if (num1398 != whoAmI && Main.npc[num1398].active && Main.npc[num1398].type == type && (Main.npc[num1398].velocity.X != 0f || Main.npc[num1398].velocity.Y != 0f))
32693 {
32694 localAI[0] = Main.rand.Next(60, 300);
32695 }
32696 }
32697 }
32698 if (localAI[0] <= 0f)
32699 {
32700 localAI[0] = Main.rand.Next(300, 600);
32701 bool flag51 = false;
32702 int num1399 = 0;
32703 while (!flag51 && num1399 <= 1000)
32704 {
32705 num1399++;
32706 int num1400 = (int)(Main.player[Main.npc[plantBoss].target].Center.X / 16f);
32707 int num1401 = (int)(Main.player[Main.npc[plantBoss].target].Center.Y / 16f);
32708 if (this.ai[0] == 0f)
32709 {
32710 num1400 = (int)((Main.player[Main.npc[plantBoss].target].Center.X + Main.npc[plantBoss].Center.X) / 32f);
32711 num1401 = (int)((Main.player[Main.npc[plantBoss].target].Center.Y + Main.npc[plantBoss].Center.Y) / 32f);
32712 }
32713 if (flag50)
32714 {
32715 num1400 = (int)Main.npc[plantBoss].position.X / 16;
32716 num1401 = (int)(Main.npc[plantBoss].position.Y + 400f) / 16;
32717 }
32718 int num1402 = 20;
32719 num1402 += (int)(100f * ((float)num1399 / 1000f));
32720 int num1403 = num1400 + Main.rand.Next(-num1402, num1402 + 1);
32721 int num1404 = num1401 + Main.rand.Next(-num1402, num1402 + 1);
32722 if (Main.npc[plantBoss].life < Main.npc[plantBoss].lifeMax / 2 && Main.rand.Next(6) == 0)
32723 {
32724 TargetClosest();
32725 int num1405 = (int)(Main.player[target].Center.X / 16f);
32726 int num1406 = (int)(Main.player[target].Center.Y / 16f);
32727 if (Main.tile[num1405, num1406].wall > 0)
32728 {
32729 num1403 = num1405;
32730 num1404 = num1406;
32731 }
32732 }
32733 try
32734 {
32735 if (WorldGen.InWorld(num1403, num1404) && (WorldGen.SolidTile(num1403, num1404) || (Main.tile[num1403, num1404].wall > 0 && (num1399 > 500 || Main.npc[plantBoss].life < Main.npc[plantBoss].lifeMax / 2))))
32736 {
32737 flag51 = true;
32738 this.ai[0] = num1403;
32739 this.ai[1] = num1404;
32740 netUpdate = true;
32741 }
32742 }
32743 catch
32744 {
32745 }
32746 }
32747 }
32748 }
32749 if (!(this.ai[0] > 0f) || !(this.ai[1] > 0f))
32750 {
32751 return;
32752 }
32753 float num1408 = 6f;
32754 if (Main.npc[plantBoss].life < Main.npc[plantBoss].lifeMax / 2)
32755 {
32756 num1408 = 8f;
32757 }
32758 if (Main.npc[plantBoss].life < Main.npc[plantBoss].lifeMax / 4)
32759 {
32760 num1408 = 10f;
32761 }
32762 if (Main.expertMode)
32763 {
32764 num1408 += 1f;
32765 }
32766 if (Main.expertMode && Main.npc[plantBoss].life < Main.npc[plantBoss].lifeMax / 2)
32767 {
32768 num1408 += 1f;
32769 }
32770 if (flag49)
32771 {
32772 num1408 *= 2f;
32773 }
32774 if (flag50)
32775 {
32776 num1408 *= 2f;
32777 }
32778 Vector2 vector4 = default(Vector2);
32779 ((Vector2)(ref vector4))._002Ector(base.Center.X, base.Center.Y);
32780 float num1409 = this.ai[0] * 16f - 8f - vector4.X;
32781 float num1410 = this.ai[1] * 16f - 8f - vector4.Y;
32782 float num1411 = (float)Math.Sqrt(num1409 * num1409 + num1410 * num1410);
32783 if (num1411 < 12f + num1408)
32784 {
32785 if (Main.netMode != 1 && Main.getGoodWorld && localAI[3] == 1f)
32786 {
32787 localAI[3] = 0f;
32788 WorldGen.SpawnPlanteraThorns(base.Center);
32789 }
32790 velocity.X = num1409;
32791 velocity.Y = num1410;
32792 }
32793 else
32794 {
32795 if (Main.netMode != 1 && Main.getGoodWorld)
32796 {
32797 localAI[3] = 1f;
32798 }
32800 velocity.X = num1409 * num1411;
32801 velocity.Y = num1410 * num1411;
32802 }
32803 Vector2 vector5 = default(Vector2);
32804 ((Vector2)(ref vector5))._002Ector(base.Center.X, base.Center.Y);
32805 float num1412 = Main.npc[plantBoss].Center.X - vector5.X;
32806 float num1413 = Main.npc[plantBoss].Center.Y - vector5.Y;
32807 rotation = (float)Math.Atan2(num1413, num1412) - 1.57f;
32808 }
32809 else if (aiStyle == 53)
32810 {
32811 if (Main.getGoodWorld)
32812 {
32813 if (Main.rand.Next(10) == 0)
32814 {
32815 reflectsProjectiles = true;
32816 }
32817 else
32818 {
32819 reflectsProjectiles = false;
32820 }
32821 }
32822 if (plantBoss < 0)
32823 {
32824 StrikeNPCNoInteraction(9999, 0f, 0);
32825 netUpdate = true;
32826 return;
32827 }
32828 int num1414 = plantBoss;
32829 if (this.ai[3] > 0f)
32830 {
32831 num1414 = (int)this.ai[3] - 1;
32832 }
32833 if (Main.netMode != 1)
32834 {
32835 localAI[0] -= 1f;
32836 if (localAI[0] <= 0f)
32837 {
32838 localAI[0] = Main.rand.Next(120, 480);
32839 this.ai[0] = Main.rand.Next(-100, 101);
32840 this.ai[1] = Main.rand.Next(-100, 101);
32841 netUpdate = true;
32842 }
32843 }
32844 TargetClosest();
32845 float num1415 = 0.2f;
32846 float num1416 = 200f;
32847 if ((double)Main.npc[plantBoss].life < (double)Main.npc[plantBoss].lifeMax * 0.25)
32848 {
32849 num1416 += 100f;
32850 }
32851 if ((double)Main.npc[plantBoss].life < (double)Main.npc[plantBoss].lifeMax * 0.1)
32852 {
32853 num1416 += 100f;
32854 }
32855 if (Main.expertMode)
32856 {
32857 float num1417 = 1f - (float)life / (float)lifeMax;
32858 num1416 += num1417 * 300f;
32859 num1415 += 0.3f;
32860 }
32861 if (Main.getGoodWorld)
32862 {
32863 num1415 += 4f;
32864 }
32865 if (!Main.npc[num1414].active || plantBoss < 0)
32866 {
32867 active = false;
32868 return;
32869 }
32870 float num1419 = Main.npc[num1414].position.X + (float)(Main.npc[num1414].width / 2);
32871 float num1420 = Main.npc[num1414].position.Y + (float)(Main.npc[num1414].height / 2);
32872 Vector2 vector6 = default(Vector2);
32873 ((Vector2)(ref vector6))._002Ector(num1419, num1420);
32874 float num1421 = num1419 + this.ai[0];
32875 float num1422 = num1420 + this.ai[1];
32876 float num1423 = num1421 - vector6.X;
32877 float num1424 = num1422 - vector6.Y;
32878 float num1425 = (float)Math.Sqrt(num1423 * num1423 + num1424 * num1424);
32880 num1423 *= num1425;
32881 num1424 *= num1425;
32882 if (position.X < num1419 + num1423)
32883 {
32884 velocity.X += num1415;
32885 if (velocity.X < 0f && num1423 > 0f)
32886 {
32887 velocity.X *= 0.9f;
32888 }
32889 }
32890 else if (position.X > num1419 + num1423)
32891 {
32892 velocity.X -= num1415;
32893 if (velocity.X > 0f && num1423 < 0f)
32894 {
32895 velocity.X *= 0.9f;
32896 }
32897 }
32898 if (position.Y < num1420 + num1424)
32899 {
32900 velocity.Y += num1415;
32901 if (velocity.Y < 0f && num1424 > 0f)
32902 {
32903 velocity.Y *= 0.9f;
32904 }
32905 }
32906 else if (position.Y > num1420 + num1424)
32907 {
32908 velocity.Y -= num1415;
32909 if (velocity.Y > 0f && num1424 < 0f)
32910 {
32911 velocity.Y *= 0.9f;
32912 }
32913 }
32914 if (velocity.X > 8f)
32915 {
32916 velocity.X = 8f;
32917 }
32918 if (velocity.X < -8f)
32919 {
32920 velocity.X = -8f;
32921 }
32922 if (velocity.Y > 8f)
32923 {
32924 velocity.Y = 8f;
32925 }
32926 if (velocity.Y < -8f)
32927 {
32928 velocity.Y = -8f;
32929 }
32930 if (num1423 > 0f)
32931 {
32932 spriteDirection = 1;
32933 rotation = (float)Math.Atan2(num1424, num1423);
32934 }
32935 if (num1423 < 0f)
32936 {
32937 spriteDirection = -1;
32938 rotation = (float)Math.Atan2(num1424, num1423) + 3.14f;
32939 }
32940 }
32941 else if (aiStyle == 54)
32942 {
32944 if (Main.netMode != 1 && localAI[0] == 0f)
32945 {
32946 localAI[0] = 1f;
32949 {
32950 float x2 = base.Center.X;
32951 float y4 = base.Center.Y;
32952 x2 += (float)Main.rand.Next(-width, width);
32953 y4 += (float)Main.rand.Next(-height, height);
32954 int num1427 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)x2, (int)y4, 267);
32955 Main.npc[num1427].velocity = new Vector2((float)Main.rand.Next(-30, 31) * 0.1f, (float)Main.rand.Next(-30, 31) * 0.1f);
32956 Main.npc[num1427].netUpdate = true;
32957 }
32958 }
32959 if (Main.netMode != 1)
32960 {
32961 TargetClosest();
32962 int num1428 = 6000;
32963 if (Math.Abs(base.Center.X - Main.player[target].Center.X) + Math.Abs(base.Center.Y - Main.player[target].Center.Y) > (float)num1428)
32964 {
32965 active = false;
32966 life = 0;
32967 if (Main.netMode == 2)
32968 {
32969 NetMessage.SendData(23, -1, -1, null, whoAmI);
32970 }
32971 }
32972 }
32973 if (this.ai[0] < 0f)
32974 {
32975 if (Main.getGoodWorld)
32976 {
32978 }
32979 if (localAI[2] == 0f)
32980 {
32981 SoundEngine.PlaySound(3, (int)position.X, (int)position.Y);
32982 localAI[2] = 1f;
32983 Gore.NewGore(position, new Vector2((float)Main.rand.Next(-30, 31) * 0.2f, (float)Main.rand.Next(-30, 31) * 0.2f), 392);
32984 Gore.NewGore(position, new Vector2((float)Main.rand.Next(-30, 31) * 0.2f, (float)Main.rand.Next(-30, 31) * 0.2f), 393);
32985 Gore.NewGore(position, new Vector2((float)Main.rand.Next(-30, 31) * 0.2f, (float)Main.rand.Next(-30, 31) * 0.2f), 394);
32986 Gore.NewGore(position, new Vector2((float)Main.rand.Next(-30, 31) * 0.2f, (float)Main.rand.Next(-30, 31) * 0.2f), 395);
32987 for (int num1430 = 0; num1430 < 20; num1430++)
32988 {
32989 Vector2 val63 = position;
32990 int num1704 = width;
32991 int num1705 = height;
32992 float speedX24 = (float)Main.rand.Next(-30, 31) * 0.2f;
32993 float speedY23 = (float)Main.rand.Next(-30, 31) * 0.2f;
32994 newColor = default(Color);
32995 Dust.NewDust(val63, num1704, num1705, 5, speedX24, speedY23, 0, newColor);
32996 }
32997 SoundEngine.PlaySound(15, (int)position.X, (int)position.Y, 0);
32998 }
32999 dontTakeDamage = false;
33000 TargetClosest();
33001 Vector2 vector7 = default(Vector2);
33002 ((Vector2)(ref vector7))._002Ector(base.Center.X, base.Center.Y);
33003 float num1431 = Main.player[target].Center.X - vector7.X;
33004 float num1432 = Main.player[target].Center.Y - vector7.Y;
33005 float num1433 = (float)Math.Sqrt(num1431 * num1431 + num1432 * num1432);
33006 float num1434 = 8f;
33008 num1431 *= num1433;
33009 num1432 *= num1433;
33010 velocity.X = (velocity.X * 50f + num1431) / 51f;
33011 velocity.Y = (velocity.Y * 50f + num1432) / 51f;
33012 if (this.ai[0] == -1f)
33013 {
33014 if (Main.netMode != 1)
33015 {
33016 localAI[1] += 1f;
33017 if (justHit)
33018 {
33019 localAI[1] -= Main.rand.Next(5);
33020 }
33021 int num1435 = 60 + Main.rand.Next(120);
33022 if (Main.netMode != 0)
33023 {
33024 num1435 += Main.rand.Next(30, 90);
33025 }
33026 if (localAI[1] >= (float)num1435)
33027 {
33028 localAI[1] = 0f;
33029 TargetClosest();
33030 int num1436 = 0;
33031 Player player4 = Main.player[target];
33032 Vector2 v = default(Vector2);
33033 do
33034 {
33035 num1436++;
33036 int num1437 = (int)player4.Center.X / 16;
33037 int num1438 = (int)player4.Center.Y / 16;
33038 int minValue = 10;
33039 int num1439 = 12;
33040 float num1441 = 16f;
33041 int num1442 = Main.rand.Next(minValue, num1439 + 1);
33042 int num1443 = Main.rand.Next(minValue, num1439 + 1);
33043 if (Main.rand.Next(2) == 0)
33044 {
33045 num1442 *= -1;
33046 }
33047 if (Main.rand.Next(2) == 0)
33048 {
33049 num1443 *= -1;
33050 }
33051 ((Vector2)(ref v))._002Ector((float)(num1442 * 16), (float)(num1443 * 16));
33052 if (Vector2.Dot(player4.velocity.SafeNormalize(Vector2.UnitY), v.SafeNormalize(Vector2.UnitY)) > 0f)
33053 {
33054 v += v.SafeNormalize(Vector2.Zero) * num1441 * ((Vector2)(ref player4.velocity)).Length();
33055 }
33056 num1437 += (int)(v.X / 16f);
33057 num1438 += (int)(v.Y / 16f);
33058 if (num1436 > 100 || !WorldGen.SolidTile(num1437, num1438))
33059 {
33060 this.ai[3] = 0f;
33061 this.ai[0] = -2f;
33062 this.ai[1] = num1437;
33063 this.ai[2] = num1438;
33064 netUpdate = true;
33065 netSpam = 0;
33066 break;
33067 }
33068 }
33069 while (num1436 <= 100);
33070 }
33071 }
33072 }
33073 else if (this.ai[0] == -2f)
33074 {
33075 velocity *= 0.9f;
33076 if (Main.netMode != 0)
33077 {
33078 this.ai[3] += 15f;
33079 }
33080 else
33081 {
33082 this.ai[3] += 25f;
33083 }
33084 if (this.ai[3] >= 255f)
33085 {
33086 this.ai[3] = 255f;
33087 position.X = this.ai[1] * 16f - (float)(width / 2);
33088 position.Y = this.ai[2] * 16f - (float)(height / 2);
33090 this.ai[0] = -3f;
33091 netUpdate = true;
33092 netSpam = 0;
33093 }
33094 alpha = (int)this.ai[3];
33095 }
33096 else if (this.ai[0] == -3f)
33097 {
33098 if (Main.netMode != 0)
33099 {
33100 this.ai[3] -= 15f;
33101 }
33102 else
33103 {
33104 this.ai[3] -= 25f;
33105 }
33106 if (this.ai[3] <= 0f)
33107 {
33108 this.ai[3] = 0f;
33109 this.ai[0] = -1f;
33110 netUpdate = true;
33111 netSpam = 0;
33112 }
33113 alpha = (int)this.ai[3];
33114 }
33115 }
33116 else
33117 {
33118 TargetClosest();
33119 Vector2 vector8 = default(Vector2);
33120 ((Vector2)(ref vector8))._002Ector(base.Center.X, base.Center.Y);
33121 float num1444 = Main.player[target].Center.X - vector8.X;
33122 float num1445 = Main.player[target].Center.Y - vector8.Y;
33123 float num1446 = (float)Math.Sqrt(num1444 * num1444 + num1445 * num1445);
33124 float num1447 = 1f;
33125 if (Main.getGoodWorld)
33126 {
33127 num1447 *= 3f;
33128 }
33129 if (num1446 < num1447)
33130 {
33131 velocity.X = num1444;
33132 velocity.Y = num1445;
33133 }
33134 else
33135 {
33137 velocity.X = num1444 * num1446;
33138 velocity.Y = num1445 * num1446;
33139 }
33140 if (this.ai[0] == 0f)
33141 {
33142 if (Main.netMode != 1)
33143 {
33144 int num1448 = 0;
33145 for (int num1449 = 0; num1449 < 200; num1449++)
33146 {
33147 if (Main.npc[num1449].active && Main.npc[num1449].type == 267)
33148 {
33149 num1448++;
33150 }
33151 }
33152 if (num1448 == 0)
33153 {
33154 this.ai[0] = -1f;
33155 localAI[1] = 0f;
33156 alpha = 0;
33157 netUpdate = true;
33158 }
33159 localAI[1] += 1f;
33160 if (localAI[1] >= (float)(120 + Main.rand.Next(300)))
33161 {
33162 localAI[1] = 0f;
33163 TargetClosest();
33164 int num1450 = 0;
33165 Player player5 = Main.player[target];
33166 Vector2 v5 = default(Vector2);
33167 do
33168 {
33169 num1450++;
33170 int num1452 = (int)player5.Center.X / 16;
33171 int num1453 = (int)player5.Center.Y / 16;
33172 int minValue2 = 12;
33173 int num1454 = 40;
33174 float num1455 = 16f;
33175 int num1456 = Main.rand.Next(minValue2, num1454 + 1);
33176 int num1457 = Main.rand.Next(minValue2, num1454 + 1);
33177 if (Main.rand.Next(2) == 0)
33178 {
33179 num1456 *= -1;
33180 }
33181 if (Main.rand.Next(2) == 0)
33182 {
33183 num1457 *= -1;
33184 }
33185 ((Vector2)(ref v5))._002Ector((float)(num1456 * 16), (float)(num1457 * 16));
33186 if (Vector2.Dot(player5.velocity.SafeNormalize(Vector2.UnitY), v5.SafeNormalize(Vector2.UnitY)) > 0f)
33187 {
33188 v5 += v5.SafeNormalize(Vector2.Zero) * num1455 * ((Vector2)(ref player5.velocity)).Length();
33189 }
33190 num1452 += (int)(v5.X / 16f);
33191 num1453 += (int)(v5.Y / 16f);
33192 if (num1450 > 100 || (!WorldGen.SolidTile(num1452, num1453) && (num1450 > 75 || Collision.CanHit(new Vector2((float)(num1452 * 16), (float)(num1453 * 16)), 1, 1, Main.player[target].position, Main.player[target].width, Main.player[target].height))))
33193 {
33194 this.ai[0] = 1f;
33195 this.ai[1] = num1452;
33196 this.ai[2] = num1453;
33197 netUpdate = true;
33198 break;
33199 }
33200 }
33201 while (num1450 <= 100);
33202 }
33203 }
33204 }
33205 else if (this.ai[0] == 1f)
33206 {
33207 alpha += 5;
33208 if (alpha >= 255)
33209 {
33211 alpha = 255;
33212 position.X = this.ai[1] * 16f - (float)(width / 2);
33213 position.Y = this.ai[2] * 16f - (float)(height / 2);
33214 this.ai[0] = 2f;
33215 }
33216 }
33217 else if (this.ai[0] == 2f)
33218 {
33219 alpha -= 5;
33220 if (alpha <= 0)
33221 {
33222 alpha = 0;
33223 this.ai[0] = 0f;
33224 }
33225 }
33226 }
33227 if (Main.player[target].dead || !Main.player[target].ZoneCrimson)
33228 {
33229 if (localAI[3] < 120f)
33230 {
33231 localAI[3]++;
33232 }
33233 if (localAI[3] > 60f)
33234 {
33235 velocity.Y += (localAI[3] - 60f) * 0.25f;
33236 }
33237 this.ai[0] = 2f;
33238 alpha = 10;
33239 }
33240 else if (localAI[3] > 0f)
33241 {
33242 localAI[3]--;
33243 }
33244 }
33245 else if (aiStyle == 55)
33246 {
33247 if (crimsonBoss < 0)
33248 {
33249 active = false;
33250 netUpdate = true;
33251 return;
33252 }
33253 if (this.ai[0] == 0f)
33254 {
33255 this.ai[1] = 0f;
33256 Vector2 vector9 = default(Vector2);
33257 ((Vector2)(ref vector9))._002Ector(base.Center.X, base.Center.Y);
33258 float num1458 = Main.npc[crimsonBoss].Center.X - vector9.X;
33259 float num1459 = Main.npc[crimsonBoss].Center.Y - vector9.Y;
33260 float num1460 = (float)Math.Sqrt(num1458 * num1458 + num1459 * num1459);
33261 if (num1460 > 90f)
33262 {
33263 num1460 = 8f / num1460;
33264 num1458 *= num1460;
33265 num1459 *= num1460;
33266 velocity.X = (velocity.X * 15f + num1458) / 16f;
33267 velocity.Y = (velocity.Y * 15f + num1459) / 16f;
33268 return;
33269 }
33270 if (Math.Abs(velocity.X) + Math.Abs(velocity.Y) < 8f)
33271 {
33272 velocity.Y *= 1.05f;
33273 velocity.X *= 1.05f;
33274 }
33275 if (Main.netMode != 1 && ((Main.expertMode && Main.rand.Next(100) == 0) || Main.rand.Next(200) == 0))
33276 {
33277 TargetClosest();
33278 ((Vector2)(ref vector9))._002Ector(base.Center.X, base.Center.Y);
33279 num1458 = Main.player[target].Center.X - vector9.X;
33280 num1459 = Main.player[target].Center.Y - vector9.Y;
33281 num1460 = (float)Math.Sqrt(num1458 * num1458 + num1459 * num1459);
33282 num1460 = 8f / num1460;
33283 velocity.X = num1458 * num1460;
33284 velocity.Y = num1459 * num1460;
33285 this.ai[0] = 1f;
33286 netUpdate = true;
33287 }
33288 return;
33289 }
33290 if (Main.expertMode)
33291 {
33292 Vector2 vector10 = Main.player[target].Center - base.Center;
33293 ((Vector2)(ref vector10)).Normalize();
33294 if (Main.getGoodWorld)
33295 {
33296 vector10 *= 12f;
33297 velocity = (velocity * 49f + vector10) / 50f;
33298 }
33299 else
33300 {
33301 vector10 *= 9f;
33302 velocity = (velocity * 99f + vector10) / 100f;
33303 }
33304 }
33305 Vector2 vector11 = default(Vector2);
33306 ((Vector2)(ref vector11))._002Ector(base.Center.X, base.Center.Y);
33307 float num1461 = Main.npc[crimsonBoss].Center.X - vector11.X;
33308 float num1463 = Main.npc[crimsonBoss].Center.Y - vector11.Y;
33309 float num1464 = (float)Math.Sqrt(num1461 * num1461 + num1463 * num1463);
33310 if (num1464 > 700f)
33311 {
33312 this.ai[0] = 0f;
33313 }
33314 else
33315 {
33316 if (!justHit)
33317 {
33318 return;
33319 }
33320 if (knockBackResist == 0f)
33321 {
33322 this.ai[1] += 1f;
33323 if (this.ai[1] > 5f)
33324 {
33325 this.ai[0] = 0f;
33326 }
33327 }
33328 else
33329 {
33330 this.ai[0] = 0f;
33331 }
33332 }
33333 }
33334 else if (aiStyle == 56)
33335 {
33336 TargetClosest();
33337 Vector2 vector12 = default(Vector2);
33338 ((Vector2)(ref vector12))._002Ector(base.Center.X, base.Center.Y);
33339 float num1465 = Main.player[target].Center.X - vector12.X;
33340 float num1466 = Main.player[target].Center.Y - vector12.Y;
33341 float num1467 = (float)Math.Sqrt(num1465 * num1465 + num1466 * num1466);
33342 float num1468 = 12f;
33344 num1465 *= num1467;
33345 num1466 *= num1467;
33346 velocity.X = (velocity.X * 100f + num1465) / 101f;
33347 velocity.Y = (velocity.Y * 100f + num1466) / 101f;
33348 rotation = (float)Math.Atan2(num1466, num1465) - 1.57f;
33350 Vector2 val64 = position;
33351 int num1706 = width;
33352 int num1707 = height;
33353 newColor = default(Color);
33354 int num1469 = Dust.NewDust(val64, num1706, num1707, 180, 0f, 0f, 0, newColor);
33355 Dust dust56 = Main.dust[num1469];
33356 Dust dust87 = dust56;
33357 dust87.velocity *= 0.1f;
33358 Main.dust[num1469].scale = 1.3f;
33359 Main.dust[num1469].noGravity = true;
33361 }
33362 else if (aiStyle == 57)
33363 {
33364 float num1470 = 2f;
33365 noGravity = true;
33366 noTileCollide = true;
33367 if (!Main.dayTime)
33368 {
33369 TargetClosest();
33370 }
33371 bool flag52 = false;
33372 if ((double)life < (double)lifeMax * 0.75)
33373 {
33374 num1470 = 3f;
33375 }
33376 if ((double)life < (double)lifeMax * 0.5)
33377 {
33378 num1470 = 4f;
33379 }
33380 if (type == 344)
33381 {
33382 Lighting.AddLight(base.Bottom + new Vector2(0f, -30f), 0.3f, 0.16f, 0.125f);
33383 }
33384 if (type == 325)
33385 {
33386 Lighting.AddLight(base.Bottom + new Vector2(0f, -30f), 0.3f, 0.125f, 0.06f);
33387 }
33388 if (Main.dayTime)
33389 {
33390 EncourageDespawn(10);
33391 num1470 = 8f;
33392 }
33393 else if (this.ai[0] == 0f)
33394 {
33395 this.ai[1] += 1f;
33396 if ((double)life < (double)lifeMax * 0.5)
33397 {
33398 this.ai[1] += 1f;
33399 }
33400 if ((double)life < (double)lifeMax * 0.25)
33401 {
33402 this.ai[1] += 1f;
33403 }
33404 if (this.ai[1] >= 300f && Main.netMode != 1)
33405 {
33406 this.ai[1] = 0f;
33407 if ((double)life < (double)lifeMax * 0.25 && type != 344)
33408 {
33409 this.ai[0] = Main.rand.Next(3, 5);
33410 }
33411 else
33412 {
33413 this.ai[0] = Main.rand.Next(1, 3);
33414 }
33415 netUpdate = true;
33416 }
33417 }
33418 else if (this.ai[0] == 1f)
33419 {
33420 if (type == 344)
33421 {
33422 if (Main.rand.Next(5) == 0)
33423 {
33424 int num1471 = Dust.NewDust(position + Main.rand.NextVector2Square(0f, 1f) * base.Size - new Vector2(1f, 2f), 10, 14, 245, 0f, 0f, 254, Color.Transparent, 0.25f);
33425 Dust dust57 = Main.dust[num1471];
33426 Dust dust87 = dust57;
33427 dust87.velocity *= 0.2f;
33428 }
33429 flag52 = true;
33430 this.ai[1] += 1f;
33431 if (this.ai[1] % 5f == 0f)
33432 {
33433 Vector2 vector14 = default(Vector2);
33434 ((Vector2)(ref vector14))._002Ector(position.X + 20f + (float)Main.rand.Next(width - 40), position.Y + 20f + (float)Main.rand.Next(height - 40));
33435 float num1472 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector14.X;
33436 float num1474 = Main.player[target].position.Y - vector14.Y;
33437 num1472 += (float)Main.rand.Next(-50, 51);
33438 num1474 += (float)Main.rand.Next(-50, 51);
33439 num1474 -= Math.Abs(num1472) * ((float)Main.rand.Next(0, 21) * 0.01f);
33440 float num1475 = (float)Math.Sqrt(num1472 * num1472 + num1474 * num1474);
33441 float num1476 = 12.5f;
33443 num1472 *= num1475;
33444 num1474 *= num1475;
33445 num1472 *= 1f + (float)Main.rand.Next(-20, 21) * 0.02f;
33446 num1474 *= 1f + (float)Main.rand.Next(-20, 21) * 0.02f;
33447 int num1477 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector14.X, vector14.Y, num1472, num1474, 345, 43, 0f, Main.myPlayer, Main.rand.Next(0, 31));
33448 }
33449 if (this.ai[1] >= 180f)
33450 {
33451 this.ai[1] = 0f;
33452 this.ai[0] = 0f;
33453 }
33454 }
33455 else
33456 {
33457 flag52 = true;
33458 this.ai[1] += 1f;
33459 if (this.ai[1] % 15f == 0f)
33460 {
33461 Vector2 vector15 = default(Vector2);
33462 ((Vector2)(ref vector15))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f + 30f);
33463 float num1478 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector15.X;
33464 float num1479 = Main.player[target].position.Y - vector15.Y;
33465 float num1480 = (float)Math.Sqrt(num1478 * num1478 + num1479 * num1479);
33466 float num1481 = 10f;
33468 num1478 *= num1480;
33469 num1479 *= num1480;
33470 num1478 *= 1f + (float)Main.rand.Next(-20, 21) * 0.01f;
33471 num1479 *= 1f + (float)Main.rand.Next(-20, 21) * 0.01f;
33472 int num1482 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector15.X, vector15.Y, num1478, num1479, 325, 50, 0f, Main.myPlayer);
33473 }
33474 if (this.ai[1] >= 120f)
33475 {
33476 this.ai[1] = 0f;
33477 this.ai[0] = 0f;
33478 }
33479 }
33480 }
33481 else if (this.ai[0] == 2f)
33482 {
33483 if (type == 344)
33484 {
33485 flag52 = true;
33486 this.ai[1] += 1f;
33487 if (this.ai[1] > 60f && this.ai[1] < 240f && this.ai[1] % 15f == 0f)
33488 {
33489 float num1483 = 4.5f;
33490 Vector2 vector16 = default(Vector2);
33491 ((Vector2)(ref vector16))._002Ector(position.X + 20f + (float)Main.rand.Next(width - 40), position.Y + 60f + (float)Main.rand.Next(height - 80));
33492 float num1485 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector16.X;
33493 float num1486 = Main.player[target].position.Y - vector16.Y;
33494 num1486 -= Math.Abs(num1485) * 0.3f;
33495 num1483 += Math.Abs(num1485) * 0.004f;
33496 num1485 += (float)Main.rand.Next(-50, 51);
33497 num1486 -= (float)Main.rand.Next(50, 201);
33498 float num1487 = (float)Math.Sqrt(num1485 * num1485 + num1486 * num1486);
33500 num1485 *= num1487;
33501 num1486 *= num1487;
33502 num1485 *= 1f + (float)Main.rand.Next(-30, 31) * 0.01f;
33503 num1486 *= 1f + (float)Main.rand.Next(-30, 31) * 0.01f;
33504 int num1488 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector16.X, vector16.Y, num1485, num1486, 346, 57, 0f, Main.myPlayer, 0f, Main.rand.Next(2));
33505 }
33506 if (this.ai[1] >= 300f)
33507 {
33508 this.ai[1] = 0f;
33509 this.ai[0] = 0f;
33510 }
33511 }
33512 else
33513 {
33514 flag52 = true;
33515 this.ai[1] += 1f;
33516 if (this.ai[1] > 60f && this.ai[1] < 240f && this.ai[1] % 8f == 0f)
33517 {
33518 float num1489 = 10f;
33519 Vector2 vector17 = default(Vector2);
33520 ((Vector2)(ref vector17))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f + 30f);
33521 float num1490 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector17.X;
33522 float num1491 = Main.player[target].position.Y - vector17.Y;
33523 num1491 -= Math.Abs(num1490) * 0.3f;
33524 num1489 += Math.Abs(num1490) * 0.004f;
33525 if (num1489 > 14f)
33526 {
33527 num1489 = 14f;
33528 }
33529 num1490 += (float)Main.rand.Next(-50, 51);
33530 num1491 -= (float)Main.rand.Next(50, 201);
33531 float num1492 = (float)Math.Sqrt(num1490 * num1490 + num1491 * num1491);
33533 num1490 *= num1492;
33534 num1491 *= num1492;
33535 num1490 *= 1f + (float)Main.rand.Next(-30, 31) * 0.01f;
33536 num1491 *= 1f + (float)Main.rand.Next(-30, 31) * 0.01f;
33537 int num1493 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector17.X, vector17.Y, num1490, num1491, Main.rand.Next(326, 329), 40, 0f, Main.myPlayer);
33538 }
33539 if (this.ai[1] >= 300f)
33540 {
33541 this.ai[1] = 0f;
33542 this.ai[0] = 0f;
33543 }
33544 }
33545 }
33546 else if (this.ai[0] == 3f)
33547 {
33548 num1470 = 4f;
33549 this.ai[1] += 1f;
33550 if (this.ai[1] % 30f == 0f)
33551 {
33552 Vector2 vector18 = default(Vector2);
33553 ((Vector2)(ref vector18))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f + 30f);
33554 float num1494 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector18.X;
33555 float num1497 = Main.player[target].position.Y - vector18.Y;
33556 float num1498 = (float)Math.Sqrt(num1494 * num1494 + num1497 * num1497);
33557 float num1499 = 16f;
33559 num1494 *= num1498;
33560 num1497 *= num1498;
33561 num1494 *= 1f + (float)Main.rand.Next(-20, 21) * 0.001f;
33562 num1497 *= 1f + (float)Main.rand.Next(-20, 21) * 0.001f;
33563 int num1500 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector18.X, vector18.Y, num1494, num1497, 325, 75, 0f, Main.myPlayer);
33564 }
33565 if (this.ai[1] >= 120f)
33566 {
33567 this.ai[1] = 0f;
33568 this.ai[0] = 0f;
33569 }
33570 }
33571 else if (this.ai[0] == 4f)
33572 {
33573 num1470 = 4f;
33574 this.ai[1] += 1f;
33575 if (this.ai[1] % 10f == 0f)
33576 {
33577 float num1501 = 12f;
33578 Vector2 vector19 = default(Vector2);
33579 ((Vector2)(ref vector19))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f + 30f);
33580 float num1502 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector19.X;
33581 float num1503 = Main.player[target].position.Y - vector19.Y;
33582 num1503 -= Math.Abs(num1502) * 0.2f;
33583 num1501 += Math.Abs(num1502) * 0.002f;
33584 if (num1501 > 16f)
33585 {
33586 num1501 = 16f;
33587 }
33588 num1502 += (float)Main.rand.Next(-50, 51);
33589 num1503 -= (float)Main.rand.Next(50, 201);
33590 float num1504 = (float)Math.Sqrt(num1502 * num1502 + num1503 * num1503);
33592 num1502 *= num1504;
33593 num1503 *= num1504;
33594 num1502 *= 1f + (float)Main.rand.Next(-30, 31) * 0.005f;
33595 num1503 *= 1f + (float)Main.rand.Next(-30, 31) * 0.005f;
33596 int num1505 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector19.X, vector19.Y, num1502, num1503, Main.rand.Next(326, 329), 50, 0f, Main.myPlayer);
33597 }
33598 if (this.ai[1] >= 240f)
33599 {
33600 this.ai[1] = 0f;
33601 this.ai[0] = 0f;
33602 }
33603 }
33604 if (Math.Abs(base.Center.X - Main.player[target].Center.X) < 50f)
33605 {
33606 flag52 = true;
33607 }
33608 if (flag52)
33609 {
33610 velocity.X *= 0.9f;
33611 if ((double)velocity.X > -0.1 && (double)velocity.X < 0.1)
33612 {
33613 velocity.X = 0f;
33614 }
33615 }
33616 else
33617 {
33618 if (direction > 0)
33619 {
33620 velocity.X = (velocity.X * 20f + num1470) / 21f;
33621 }
33622 if (direction < 0)
33623 {
33624 velocity.X = (velocity.X * 20f - num1470) / 21f;
33625 }
33626 }
33627 int num1506 = 80;
33628 int num1508 = 20;
33629 Vector2 vector20 = default(Vector2);
33630 ((Vector2)(ref vector20))._002Ector(base.Center.X - (float)(num1506 / 2), position.Y + (float)height - (float)num1508);
33631 bool flag53 = false;
33632 if (position.X < Main.player[target].position.X && position.X + (float)width > Main.player[target].position.X + (float)Main.player[target].width && position.Y + (float)height < Main.player[target].position.Y + (float)Main.player[target].height - 16f)
33633 {
33634 flag53 = true;
33635 }
33636 if (flag53)
33637 {
33638 velocity.Y += 0.5f;
33639 }
33640 else if (Collision.SolidCollision(vector20, num1506, num1508))
33641 {
33642 if (velocity.Y > 0f)
33643 {
33644 velocity.Y = 0f;
33645 }
33646 if ((double)velocity.Y > -0.2)
33647 {
33648 velocity.Y -= 0.025f;
33649 }
33650 else
33651 {
33652 velocity.Y -= 0.2f;
33653 }
33654 if (velocity.Y < -4f)
33655 {
33656 velocity.Y = -4f;
33657 }
33658 }
33659 else
33660 {
33661 if (velocity.Y < 0f)
33662 {
33663 velocity.Y = 0f;
33664 }
33665 if ((double)velocity.Y < 0.1)
33666 {
33667 velocity.Y += 0.025f;
33668 }
33669 else
33670 {
33671 velocity.Y += 0.5f;
33672 }
33673 }
33674 if (velocity.Y > 10f)
33675 {
33676 velocity.Y = 10f;
33677 }
33678 }
33679 else if (aiStyle == 58)
33680 {
33681 localAI[0] += 1f;
33682 if (localAI[0] > 6f)
33683 {
33684 localAI[0] = 0f;
33685 localAI[1] += 1f;
33686 if (localAI[1] > 4f)
33687 {
33688 localAI[1] = 0f;
33689 }
33690 }
33691 if (type == 327)
33692 {
33693 Lighting.AddLight(base.Center, 0.4f, 0.4f, 0.2f);
33694 }
33695 if (Main.netMode != 1)
33696 {
33697 localAI[2] += 1f;
33698 if (localAI[2] > 300f)
33699 {
33700 this.ai[3] = Main.rand.Next(3);
33701 localAI[2] = 0f;
33702 }
33703 else if (this.ai[3] == 0f && localAI[2] % 30f == 0f && localAI[2] > 30f)
33704 {
33705 float num1509 = 5f;
33706 Vector2 vector21 = default(Vector2);
33707 ((Vector2)(ref vector21))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f + 30f);
33708 if (!WorldGen.SolidTile((int)vector21.X / 16, (int)vector21.Y / 16))
33709 {
33710 float num1510 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector21.X;
33711 float num1511 = Main.player[target].position.Y - vector21.Y;
33712 num1510 += (float)Main.rand.Next(-50, 51);
33713 num1511 += (float)Main.rand.Next(50, 201);
33714 num1511 *= 0.2f;
33715 float num1512 = (float)Math.Sqrt(num1510 * num1510 + num1511 * num1511);
33717 num1510 *= num1512;
33718 num1511 *= num1512;
33719 num1510 *= 1f + (float)Main.rand.Next(-30, 31) * 0.01f;
33720 num1511 *= 1f + (float)Main.rand.Next(-30, 31) * 0.01f;
33721 int num1513 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector21.X, vector21.Y, num1510, num1511, Main.rand.Next(326, 329), 40, 0f, Main.myPlayer);
33722 }
33723 }
33724 }
33725 if (this.ai[0] == 0f && Main.netMode != 1)
33726 {
33727 TargetClosest();
33728 this.ai[0] = 1f;
33729 int num1514 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)(position.X + (float)(width / 2)), (int)position.Y + height / 2, 328, whoAmI);
33730 Main.npc[num1514].ai[0] = -1f;
33731 Main.npc[num1514].ai[1] = whoAmI;
33732 Main.npc[num1514].target = target;
33733 Main.npc[num1514].netUpdate = true;
33734 num1514 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)(position.X + (float)(width / 2)), (int)position.Y + height / 2, 328, whoAmI);
33735 Main.npc[num1514].ai[0] = 1f;
33736 Main.npc[num1514].ai[1] = whoAmI;
33737 Main.npc[num1514].ai[3] = 150f;
33738 Main.npc[num1514].target = target;
33739 Main.npc[num1514].netUpdate = true;
33740 }
33741 if (Main.player[target].dead || Math.Abs(position.X - Main.player[target].position.X) > 2000f || Math.Abs(position.Y - Main.player[target].position.Y) > 2000f)
33742 {
33743 TargetClosest();
33744 if (Main.player[target].dead || Math.Abs(position.X - Main.player[target].position.X) > 2000f || Math.Abs(position.Y - Main.player[target].position.Y) > 2000f)
33745 {
33746 this.ai[1] = 2f;
33747 }
33748 }
33749 if (Main.dayTime)
33750 {
33751 velocity.Y += 0.3f;
33752 velocity.X *= 0.9f;
33753 }
33754 else if (this.ai[1] == 0f)
33755 {
33756 this.ai[2] += 1f;
33757 if (this.ai[2] >= 300f)
33758 {
33759 if (this.ai[3] != 1f)
33760 {
33761 this.ai[1] = 0f;
33762 this.ai[2] = 0f;
33763 }
33764 else
33765 {
33766 this.ai[2] = 0f;
33767 this.ai[1] = 1f;
33768 TargetClosest();
33769 netUpdate = true;
33770 }
33771 }
33772 Vector2 vector22 = default(Vector2);
33773 ((Vector2)(ref vector22))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
33774 float num1515 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector22.X;
33775 float num1516 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - 200f - vector22.Y;
33776 float num1517 = (float)Math.Sqrt(num1515 * num1515 + num1516 * num1516);
33777 float num1519 = 6f;
33778 if (this.ai[3] == 1f)
33779 {
33780 if (num1517 > 900f)
33781 {
33782 num1519 = 12f;
33783 }
33784 else if (num1517 > 600f)
33785 {
33786 num1519 = 10f;
33787 }
33788 else if (num1517 > 300f)
33789 {
33790 num1519 = 8f;
33791 }
33792 }
33793 if (num1517 > 50f)
33794 {
33796 velocity.X = (velocity.X * 14f + num1515 * num1517) / 15f;
33797 velocity.Y = (velocity.Y * 14f + num1516 * num1517) / 15f;
33798 }
33799 }
33800 else if (this.ai[1] == 1f)
33801 {
33802 this.ai[2] += 1f;
33803 if (this.ai[2] >= 600f || this.ai[3] != 1f)
33804 {
33805 this.ai[2] = 0f;
33806 this.ai[1] = 0f;
33807 }
33808 Vector2 vector23 = default(Vector2);
33809 ((Vector2)(ref vector23))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
33810 float num1520 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector23.X;
33811 float num1521 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector23.Y;
33812 float num1522 = (float)Math.Sqrt(num1520 * num1520 + num1521 * num1521);
33813 num1522 = 16f / num1522;
33814 velocity.X = (velocity.X * 49f + num1520 * num1522) / 50f;
33815 velocity.Y = (velocity.Y * 49f + num1521 * num1522) / 50f;
33816 }
33817 else if (this.ai[1] == 2f)
33818 {
33819 this.ai[1] = 3f;
33820 velocity.Y += 0.1f;
33821 if (velocity.Y < 0f)
33822 {
33823 velocity.Y *= 0.95f;
33824 }
33825 velocity.X *= 0.95f;
33826 EncourageDespawn(500);
33827 }
33828 rotation = velocity.X * -0.02f;
33829 }
33830 else if (aiStyle == 59)
33831 {
33832 spriteDirection = -(int)this.ai[0];
33833 if (!Main.npc[(int)this.ai[1]].active || Main.npc[(int)this.ai[1]].aiStyle != 58)
33834 {
33835 this.ai[2] += 10f;
33836 if (this.ai[2] > 50f || Main.netMode != 2)
33837 {
33838 life = -1;
33839 HitEffect();
33840 active = false;
33841 }
33842 }
33843 if (Main.netMode != 1 && Main.npc[(int)this.ai[1]].ai[3] == 2f)
33844 {
33845 localAI[1] += 1f;
33846 if (localAI[1] > 90f)
33847 {
33848 localAI[1] = 0f;
33849 float num1523 = 0.01f;
33850 Vector2 vector25 = default(Vector2);
33851 ((Vector2)(ref vector25))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f + 30f);
33852 float num1524 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector25.X;
33853 float num1525 = Main.player[target].position.Y - vector25.Y;
33854 float num1526 = (float)Math.Sqrt(num1524 * num1524 + num1525 * num1525);
33856 num1524 *= num1526;
33857 num1525 *= num1526;
33858 int num1527 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), base.Center.X, base.Center.Y, num1524, num1525, 329, 60, 0f, Main.myPlayer, rotation, spriteDirection);
33859 }
33860 }
33861 if (Main.dayTime)
33862 {
33863 velocity.Y += 0.3f;
33864 velocity.X *= 0.9f;
33865 }
33866 else if (this.ai[2] == 0f || this.ai[2] == 3f)
33867 {
33868 if (Main.npc[(int)this.ai[1]].ai[1] == 3f)
33869 {
33870 EncourageDespawn(10);
33871 }
33872 this.ai[3] += 1f;
33873 if (this.ai[3] >= 180f)
33874 {
33875 this.ai[2] += 1f;
33876 this.ai[3] = 0f;
33877 netUpdate = true;
33878 }
33879 Vector2 vector26 = default(Vector2);
33880 ((Vector2)(ref vector26))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
33881 float num1528 = (Main.player[target].Center.X + Main.npc[(int)this.ai[1]].Center.X) / 2f;
33882 float num1530 = (Main.player[target].Center.Y + Main.npc[(int)this.ai[1]].Center.Y) / 2f;
33883 num1528 += -170f * this.ai[0] - vector26.X;
33884 num1530 += 90f - vector26.Y;
33885 float num1531 = Math.Abs(Main.player[target].Center.X - Main.npc[(int)this.ai[1]].Center.X) + Math.Abs(Main.player[target].Center.Y - Main.npc[(int)this.ai[1]].Center.Y);
33886 if (num1531 > 700f)
33887 {
33888 num1528 = Main.npc[(int)this.ai[1]].Center.X - 170f * this.ai[0] - vector26.X;
33889 num1530 = Main.npc[(int)this.ai[1]].Center.Y + 90f - vector26.Y;
33890 }
33891 float num1532 = (float)Math.Sqrt(num1528 * num1528 + num1530 * num1530);
33892 float num1533 = 6f;
33893 if (num1532 > 1000f)
33894 {
33895 num1533 = 21f;
33896 }
33897 else if (num1532 > 800f)
33898 {
33899 num1533 = 18f;
33900 }
33901 else if (num1532 > 600f)
33902 {
33903 num1533 = 15f;
33904 }
33905 else if (num1532 > 400f)
33906 {
33907 num1533 = 12f;
33908 }
33909 else if (num1532 > 200f)
33910 {
33911 num1533 = 9f;
33912 }
33913 if (this.ai[0] < 0f && base.Center.X > Main.npc[(int)this.ai[1]].Center.X)
33914 {
33915 num1528 -= 4f;
33916 }
33917 if (this.ai[0] > 0f && base.Center.X < Main.npc[(int)this.ai[1]].Center.X)
33918 {
33919 num1528 += 4f;
33920 }
33922 velocity.X = (velocity.X * 14f + num1528 * num1532) / 15f;
33923 velocity.Y = (velocity.Y * 14f + num1530 * num1532) / 15f;
33924 num1532 = (float)Math.Sqrt(num1528 * num1528 + num1530 * num1530);
33925 if (num1532 > 20f)
33926 {
33927 rotation = (float)Math.Atan2(num1530, num1528) + 1.57f;
33928 }
33929 }
33930 else if (this.ai[2] == 1f)
33931 {
33932 Vector2 vector27 = default(Vector2);
33933 ((Vector2)(ref vector27))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
33934 float num1534 = Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 200f * this.ai[0] - vector27.X;
33935 float num1535 = Main.npc[(int)this.ai[1]].position.Y + 230f - vector27.Y;
33936 float num1536 = (float)Math.Sqrt(num1534 * num1534 + num1535 * num1535);
33937 rotation = (float)Math.Atan2(num1535, num1534) + 1.57f;
33938 velocity.X *= 0.95f;
33939 velocity.Y -= 0.3f;
33940 if (velocity.Y < -14f)
33941 {
33942 velocity.Y = -14f;
33943 }
33944 if (position.Y < Main.npc[(int)this.ai[1]].position.Y - 200f)
33945 {
33946 TargetClosest();
33947 this.ai[2] = 2f;
33948 ((Vector2)(ref vector27))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
33949 num1534 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector27.X;
33950 num1535 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector27.Y;
33951 num1536 = (float)Math.Sqrt(num1534 * num1534 + num1535 * num1535);
33952 num1536 = 18f / num1536;
33953 velocity.X = num1534 * num1536;
33954 velocity.Y = num1535 * num1536;
33955 netUpdate = true;
33956 }
33957 }
33958 else if (this.ai[2] == 2f)
33959 {
33960 float num1537 = Math.Abs(base.Center.X - Main.npc[(int)this.ai[1]].Center.X) + Math.Abs(base.Center.Y - Main.npc[(int)this.ai[1]].Center.Y);
33961 if (position.Y > Main.player[target].position.Y || velocity.Y < 0f || num1537 > 800f)
33962 {
33963 this.ai[2] = 3f;
33964 }
33965 }
33966 else if (this.ai[2] == 4f)
33967 {
33968 Vector2 vector28 = default(Vector2);
33969 ((Vector2)(ref vector28))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
33970 float num1538 = Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 200f * this.ai[0] - vector28.X;
33971 float num1539 = Main.npc[(int)this.ai[1]].position.Y + 230f - vector28.Y;
33972 float num1541 = (float)Math.Sqrt(num1538 * num1538 + num1539 * num1539);
33973 rotation = (float)Math.Atan2(num1539, num1538) + 1.57f;
33974 velocity.Y *= 0.95f;
33975 velocity.X += 0.3f * (0f - this.ai[0]);
33976 if (velocity.X < -14f)
33977 {
33978 velocity.X = -14f;
33979 }
33980 if (velocity.X > 14f)
33981 {
33982 velocity.X = 14f;
33983 }
33984 if (position.X + (float)(width / 2) < Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) - 500f || position.X + (float)(width / 2) > Main.npc[(int)this.ai[1]].position.X + (float)(Main.npc[(int)this.ai[1]].width / 2) + 500f)
33985 {
33986 TargetClosest();
33987 this.ai[2] = 5f;
33988 ((Vector2)(ref vector28))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
33989 num1538 = Main.player[target].position.X + (float)(Main.player[target].width / 2) - vector28.X;
33990 num1539 = Main.player[target].position.Y + (float)(Main.player[target].height / 2) - vector28.Y;
33991 num1541 = (float)Math.Sqrt(num1538 * num1538 + num1539 * num1539);
33992 num1541 = 17f / num1541;
33993 velocity.X = num1538 * num1541;
33994 velocity.Y = num1539 * num1541;
33995 netUpdate = true;
33996 }
33997 }
33998 else if (this.ai[2] == 5f)
33999 {
34000 float num1542 = Math.Abs(base.Center.X - Main.npc[(int)this.ai[1]].Center.X) + Math.Abs(base.Center.Y - Main.npc[(int)this.ai[1]].Center.Y);
34001 if ((velocity.X > 0f && position.X + (float)(width / 2) > Main.player[target].position.X + (float)(Main.player[target].width / 2)) || (velocity.X < 0f && position.X + (float)(width / 2) < Main.player[target].position.X + (float)(Main.player[target].width / 2)) || num1542 > 800f)
34002 {
34003 this.ai[2] = 0f;
34004 }
34005 }
34006 }
34007 else if (aiStyle == 60)
34008 {
34009 if (Main.dayTime)
34010 {
34011 if (velocity.X > 0f)
34012 {
34013 velocity.X += 0.25f;
34014 }
34015 else
34016 {
34017 velocity.X -= 0.25f;
34018 }
34019 velocity.Y -= 0.1f;
34020 rotation = velocity.X * 0.05f;
34021 }
34022 else if (this.ai[0] == 0f)
34023 {
34024 if (this.ai[2] == 0f)
34025 {
34026 TargetClosest();
34027 if (base.Center.X < Main.player[target].Center.X)
34028 {
34029 this.ai[2] = 1f;
34030 }
34031 else
34032 {
34033 this.ai[2] = -1f;
34034 }
34035 }
34036 TargetClosest();
34037 int num1543 = 800;
34038 float num1544 = Math.Abs(base.Center.X - Main.player[target].Center.X);
34039 if (base.Center.X < Main.player[target].Center.X && this.ai[2] < 0f && num1544 > (float)num1543)
34040 {
34041 this.ai[2] = 0f;
34042 }
34043 if (base.Center.X > Main.player[target].Center.X && this.ai[2] > 0f && num1544 > (float)num1543)
34044 {
34045 this.ai[2] = 0f;
34046 }
34047 float num1545 = 0.45f;
34048 float num1546 = 7f;
34049 if ((double)life < (double)lifeMax * 0.75)
34050 {
34051 num1545 = 0.55f;
34052 num1546 = 8f;
34053 }
34054 if ((double)life < (double)lifeMax * 0.5)
34055 {
34056 num1545 = 0.7f;
34057 num1546 = 10f;
34058 }
34059 if ((double)life < (double)lifeMax * 0.25)
34060 {
34061 num1545 = 0.8f;
34062 num1546 = 11f;
34063 }
34064 velocity.X += this.ai[2] * num1545;
34065 if (velocity.X > num1546)
34066 {
34067 velocity.X = num1546;
34068 }
34069 if (velocity.X < 0f - num1546)
34070 {
34071 velocity.X = 0f - num1546;
34072 }
34073 float num1547 = Main.player[target].position.Y - (position.Y + (float)height);
34074 if (num1547 < 150f)
34075 {
34076 velocity.Y -= 0.2f;
34077 }
34078 if (num1547 > 200f)
34079 {
34080 velocity.Y += 0.2f;
34081 }
34082 if (velocity.Y > 8f)
34083 {
34084 velocity.Y = 8f;
34085 }
34086 if (velocity.Y < -8f)
34087 {
34088 velocity.Y = -8f;
34089 }
34090 rotation = velocity.X * 0.05f;
34091 if ((num1544 < 500f || this.ai[3] < 0f) && position.Y < Main.player[target].position.Y)
34092 {
34093 this.ai[3] += 1f;
34094 int num1548 = 13;
34095 if ((double)life < (double)lifeMax * 0.75)
34096 {
34097 num1548 = 12;
34098 }
34099 if ((double)life < (double)lifeMax * 0.5)
34100 {
34101 num1548 = 11;
34102 }
34103 if ((double)life < (double)lifeMax * 0.25)
34104 {
34105 num1548 = 10;
34106 }
34107 num1548++;
34108 if (this.ai[3] > (float)num1548)
34109 {
34110 this.ai[3] = -num1548;
34111 }
34112 if (this.ai[3] == 0f && Main.netMode != 1)
34113 {
34114 Vector2 vector29 = default(Vector2);
34115 ((Vector2)(ref vector29))._002Ector(base.Center.X, base.Center.Y);
34116 vector29.X += velocity.X * 7f;
34117 float num1549 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector29.X;
34118 float num1550 = Main.player[target].Center.Y - vector29.Y;
34119 float num1552 = (float)Math.Sqrt(num1549 * num1549 + num1550 * num1550);
34120 float num1553 = 6f;
34121 if ((double)life < (double)lifeMax * 0.75)
34122 {
34123 num1553 = 7f;
34124 }
34125 if ((double)life < (double)lifeMax * 0.5)
34126 {
34127 num1553 = 8f;
34128 }
34129 if ((double)life < (double)lifeMax * 0.25)
34130 {
34131 num1553 = 9f;
34132 }
34134 num1549 *= num1552;
34135 num1550 *= num1552;
34136 int num1554 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector29.X, vector29.Y, num1549, num1550, 348, 42, 0f, Main.myPlayer);
34137 }
34138 }
34139 else if (this.ai[3] < 0f)
34140 {
34141 this.ai[3] += 1f;
34142 }
34143 if (Main.netMode != 1)
34144 {
34145 this.ai[1] += Main.rand.Next(1, 4);
34146 if (this.ai[1] > 800f && num1544 < 600f)
34147 {
34148 this.ai[0] = -1f;
34149 }
34150 }
34151 }
34152 else if (this.ai[0] == 1f)
34153 {
34154 TargetClosest();
34155 float num1555 = 0.15f;
34156 float num1556 = 7f;
34157 if ((double)life < (double)lifeMax * 0.75)
34158 {
34159 num1555 = 0.17f;
34160 num1556 = 8f;
34161 }
34162 if ((double)life < (double)lifeMax * 0.5)
34163 {
34164 num1555 = 0.2f;
34165 num1556 = 9f;
34166 }
34167 if ((double)life < (double)lifeMax * 0.25)
34168 {
34169 num1555 = 0.25f;
34170 num1556 = 10f;
34171 }
34172 num1555 -= 0.05f;
34173 num1556 -= 1f;
34174 if (base.Center.X < Main.player[target].Center.X)
34175 {
34176 velocity.X += num1555;
34177 if (velocity.X < 0f)
34178 {
34179 velocity.X *= 0.98f;
34180 }
34181 }
34182 if (base.Center.X > Main.player[target].Center.X)
34183 {
34184 velocity.X -= num1555;
34185 if (velocity.X > 0f)
34186 {
34187 velocity.X *= 0.98f;
34188 }
34189 }
34190 if (velocity.X > num1556 || velocity.X < 0f - num1556)
34191 {
34192 velocity.X *= 0.95f;
34193 }
34194 float num1557 = Main.player[target].position.Y - (position.Y + (float)height);
34195 if (num1557 < 180f)
34196 {
34197 velocity.Y -= 0.1f;
34198 }
34199 if (num1557 > 200f)
34200 {
34201 velocity.Y += 0.1f;
34202 }
34203 if (velocity.Y > 6f)
34204 {
34205 velocity.Y = 6f;
34206 }
34207 if (velocity.Y < -6f)
34208 {
34209 velocity.Y = -6f;
34210 }
34211 rotation = velocity.X * 0.01f;
34212 if (Main.netMode != 1)
34213 {
34214 this.ai[3] += 1f;
34215 int num1558 = 15;
34216 if ((double)life < (double)lifeMax * 0.75)
34217 {
34218 num1558 = 14;
34219 }
34220 if ((double)life < (double)lifeMax * 0.5)
34221 {
34222 num1558 = 12;
34223 }
34224 if ((double)life < (double)lifeMax * 0.25)
34225 {
34226 num1558 = 10;
34227 }
34228 if ((double)life < (double)lifeMax * 0.1)
34229 {
34230 num1558 = 8;
34231 }
34232 num1558 += 3;
34233 if (this.ai[3] >= (float)num1558)
34234 {
34235 this.ai[3] = 0f;
34236 Vector2 vector30 = default(Vector2);
34237 ((Vector2)(ref vector30))._002Ector(base.Center.X, position.Y + (float)height - 14f);
34238 int i2 = (int)(vector30.X / 16f);
34239 int j2 = (int)(vector30.Y / 16f);
34240 if (!WorldGen.SolidTile(i2, j2))
34241 {
34242 float num1559 = velocity.Y;
34243 if (num1559 < 0f)
34244 {
34245 num1559 = 0f;
34246 }
34247 num1559 += 3f;
34248 float speedX2 = velocity.X * 0.25f;
34249 int num1560 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector30.X, vector30.Y, speedX2, num1559, 349, 37, 0f, Main.myPlayer, Main.rand.Next(5));
34250 }
34251 }
34252 }
34253 if (Main.netMode != 1)
34254 {
34255 this.ai[1] += Main.rand.Next(1, 4);
34256 if (this.ai[1] > 600f)
34257 {
34258 this.ai[0] = -1f;
34259 }
34260 }
34261 }
34262 else if (this.ai[0] == 2f)
34263 {
34264 TargetClosest();
34265 Vector2 vector31 = default(Vector2);
34266 ((Vector2)(ref vector31))._002Ector(base.Center.X, base.Center.Y - 20f);
34267 float num1561 = Main.rand.Next(-1000, 1001);
34268 float num1563 = Main.rand.Next(-1000, 1001);
34269 float num1564 = (float)Math.Sqrt(num1561 * num1561 + num1563 * num1563);
34270 float num1565 = 15f;
34271 velocity *= 0.95f;
34273 num1561 *= num1564;
34274 num1563 *= num1564;
34275 rotation += 0.2f;
34276 vector31.X += num1561 * 4f;
34277 vector31.Y += num1563 * 4f;
34278 this.ai[3] += 1f;
34279 int num1566 = 7;
34280 if ((double)life < (double)lifeMax * 0.75)
34281 {
34282 num1566--;
34283 }
34284 if ((double)life < (double)lifeMax * 0.5)
34285 {
34286 num1566 -= 2;
34287 }
34288 if ((double)life < (double)lifeMax * 0.25)
34289 {
34290 num1566 -= 3;
34291 }
34292 if ((double)life < (double)lifeMax * 0.1)
34293 {
34294 num1566 -= 4;
34295 }
34296 if (this.ai[3] > (float)num1566)
34297 {
34298 this.ai[3] = 0f;
34299 int num1567 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector31.X, vector31.Y, num1561, num1563, 349, 35, 0f, Main.myPlayer);
34300 }
34301 if (Main.netMode != 1)
34302 {
34303 this.ai[1] += Main.rand.Next(1, 4);
34304 if (this.ai[1] > 500f)
34305 {
34306 this.ai[0] = -1f;
34307 }
34308 }
34309 }
34310 if (this.ai[0] == -1f)
34311 {
34312 int num1568 = Main.rand.Next(3);
34313 TargetClosest();
34314 if (Math.Abs(base.Center.X - Main.player[target].Center.X) > 1000f)
34315 {
34316 num1568 = 0;
34317 }
34318 this.ai[0] = num1568;
34319 this.ai[1] = 0f;
34320 this.ai[2] = 0f;
34321 this.ai[3] = 0f;
34322 }
34323 }
34324 else if (aiStyle == 61)
34325 {
34326 float num1569 = 2f;
34327 noGravity = true;
34328 noTileCollide = true;
34329 if (!Main.dayTime)
34330 {
34331 TargetClosest();
34332 }
34333 bool flag54 = false;
34334 if ((double)life < (double)lifeMax * 0.75)
34335 {
34336 num1569 = 3f;
34337 }
34338 if ((double)life < (double)lifeMax * 0.5)
34339 {
34340 num1569 = 4f;
34341 }
34342 if ((double)life < (double)lifeMax * 0.25)
34343 {
34344 num1569 = 5f;
34345 }
34346 Vector2 center34 = base.Center;
34347 Point point12 = center34.ToTileCoordinates();
34348 if (WorldGen.InWorld(point12.X, point12.Y) && !WorldGen.SolidTile(point12.X, point12.Y))
34349 {
34350 Lighting.AddLight(center34, 0.3f, 0.26f, 0.05f);
34351 }
34352 if (Main.dayTime)
34353 {
34354 EncourageDespawn(10);
34355 num1569 = 8f;
34356 if (velocity.X == 0f)
34357 {
34358 velocity.X = 0.1f;
34359 }
34360 }
34361 else if (this.ai[0] == 0f)
34362 {
34363 this.ai[1] += 1f;
34364 if (this.ai[1] >= 300f && Main.netMode != 1)
34365 {
34366 TargetClosest();
34367 this.ai[1] = 0f;
34368 this.ai[0] = 1f;
34369 netUpdate = true;
34370 }
34371 }
34372 else if (this.ai[0] == 1f)
34373 {
34374 this.ai[1] += 1f;
34375 flag54 = true;
34376 int num1570 = 16;
34377 if ((double)life < (double)lifeMax * 0.25)
34378 {
34379 num1570 = 8;
34380 }
34381 else if ((double)life < (double)lifeMax * 0.5)
34382 {
34383 num1570 = 11;
34384 }
34385 else if ((double)life < (double)lifeMax * 0.75)
34386 {
34387 num1570 = 14;
34388 }
34389 if (this.ai[1] % (float)num1570 == 0f)
34390 {
34391 Vector2 vector32 = default(Vector2);
34392 ((Vector2)(ref vector32))._002Ector(base.Center.X + (float)(direction * 50), base.Center.Y + (float)Main.rand.Next(15, 36));
34393 float num1571 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector32.X;
34394 float num1572 = Main.player[target].Center.Y - vector32.Y;
34395 num1571 += (float)Main.rand.Next(-40, 41);
34396 num1572 += (float)Main.rand.Next(-40, 41);
34397 float num1574 = (float)Math.Sqrt(num1571 * num1571 + num1572 * num1572);
34398 float num1575 = 15f;
34400 num1571 *= num1574;
34401 num1572 *= num1574;
34402 num1571 *= 1f + (float)Main.rand.Next(-20, 21) * 0.015f;
34403 num1572 *= 1f + (float)Main.rand.Next(-20, 21) * 0.015f;
34404 int num1576 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector32.X, vector32.Y, num1571, num1572, 180, 36, 0f, Main.myPlayer);
34405 }
34406 if (this.ai[1] > 240f)
34407 {
34408 this.ai[0] = 0f;
34409 this.ai[1] = 0f;
34410 }
34411 }
34412 if (Main.netMode != 1)
34413 {
34414 int num1577 = 600;
34415 int num1578 = 1200;
34416 int num1579 = 2700;
34417 if ((double)life < (double)lifeMax * 0.25)
34418 {
34419 num1577 = (int)((double)num1577 * 0.5);
34420 num1578 = (int)((double)num1578 * 0.5);
34421 num1579 = (int)((double)num1579 * 0.5);
34422 }
34423 else if ((double)life < (double)lifeMax * 0.5)
34424 {
34425 num1577 = (int)((double)num1577 * 0.75);
34426 num1578 = (int)((double)num1578 * 0.75);
34427 num1579 = (int)((double)num1579 * 0.75);
34428 }
34429 else if ((double)life < (double)lifeMax * 0.75)
34430 {
34431 num1577 = (int)((double)num1577 * 0.9);
34432 num1578 = (int)((double)num1578 * 0.9);
34433 num1579 = (int)((double)num1579 * 0.9);
34434 }
34435 if (Main.rand.Next(num1577) == 0)
34436 {
34437 Vector2 vector33 = default(Vector2);
34438 ((Vector2)(ref vector33))._002Ector(base.Center.X - (float)(direction * 24), base.Center.Y - 64f);
34439 float num1580 = Main.rand.Next(1, 100) * direction;
34440 float num1581 = 1f;
34441 float num1582 = (float)Math.Sqrt(num1580 * num1580 + num1581 * num1581);
34442 float num1583 = 1f;
34444 num1580 *= num1582;
34445 num1581 *= num1582;
34446 int num1585 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector33.X, vector33.Y, num1580, num1581, 352, 80, 0f, Main.myPlayer);
34447 }
34448 if (Main.rand.Next(num1578) == 0)
34449 {
34450 localAI[1] = 1f;
34451 }
34452 if (localAI[1] >= 1f)
34453 {
34454 localAI[1] += 1f;
34455 int num1586 = 12;
34456 if (localAI[1] % (float)num1586 == 0f)
34457 {
34458 Vector2 vector34 = default(Vector2);
34459 ((Vector2)(ref vector34))._002Ector(base.Center.X - (float)(direction * 24), base.Center.Y - 64f);
34460 float num1587 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector34.X;
34461 float num1588 = Main.player[target].Center.Y - vector34.Y;
34462 num1587 += (float)Main.rand.Next(-50, 51);
34463 num1588 += (float)Main.rand.Next(-50, 51);
34464 float num1589 = (float)Math.Sqrt(num1587 * num1587 + num1588 * num1588);
34465 float num1590 = 12.5f;
34467 num1587 *= num1589;
34468 num1588 *= num1589;
34469 num1587 *= 1f + (float)Main.rand.Next(-20, 21) * 0.015f;
34470 num1588 *= 1f + (float)Main.rand.Next(-20, 21) * 0.015f;
34471 int num1591 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector34.X, vector34.Y, num1587, num1588, 350, 42, 0f, Main.myPlayer);
34472 }
34473 if (localAI[1] >= 100f)
34474 {
34475 localAI[1] = 0f;
34476 }
34477 }
34478 if (Main.rand.Next(num1579) == 0)
34479 {
34480 localAI[2] = 2f;
34481 }
34482 if (localAI[2] > 0f)
34483 {
34484 localAI[2] += 1f;
34485 int num1592 = 9;
34486 if (localAI[2] % (float)num1592 == 0f)
34487 {
34488 Vector2 vector36 = default(Vector2);
34489 ((Vector2)(ref vector36))._002Ector(base.Center.X - (float)(direction * 24), base.Center.Y - 64f);
34490 float num1593 = Main.rand.Next(-100, 101);
34491 float num1594 = -300f;
34492 float num1596 = (float)Math.Sqrt(num1593 * num1593 + num1594 * num1594);
34493 float num1597 = 11f;
34495 num1593 *= num1596;
34496 num1594 *= num1596;
34497 num1593 *= 1f + (float)Main.rand.Next(-20, 21) * 0.01f;
34498 num1594 *= 1f + (float)Main.rand.Next(-20, 21) * 0.01f;
34499 int num1598 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector36.X, vector36.Y, num1593, num1594, 351, 50, 0f, Main.myPlayer);
34500 }
34501 if (localAI[2] >= 100f)
34502 {
34503 localAI[2] = 0f;
34504 }
34505 }
34506 }
34507 if (Math.Abs(base.Center.X - Main.player[target].Center.X) < 50f)
34508 {
34509 flag54 = true;
34510 }
34511 if (flag54)
34512 {
34513 velocity.X *= 0.9f;
34514 if ((double)velocity.X > -0.1 && (double)velocity.X < 0.1)
34515 {
34516 velocity.X = 0f;
34517 }
34518 }
34519 else
34520 {
34521 if (direction > 0)
34522 {
34523 velocity.X = (velocity.X * 20f + num1569) / 21f;
34524 }
34525 if (direction < 0)
34526 {
34527 velocity.X = (velocity.X * 20f - num1569) / 21f;
34528 }
34529 }
34530 int num1599 = 80;
34531 int num1600 = 20;
34532 Vector2 vector37 = default(Vector2);
34533 ((Vector2)(ref vector37))._002Ector(base.Center.X - (float)(num1599 / 2), position.Y + (float)height - (float)num1600);
34534 bool flag55 = false;
34535 if (position.X < Main.player[target].position.X && position.X + (float)width > Main.player[target].position.X + (float)Main.player[target].width && position.Y + (float)height < Main.player[target].position.Y + (float)Main.player[target].height - 16f)
34536 {
34537 flag55 = true;
34538 }
34539 if (flag55)
34540 {
34541 velocity.Y += 0.5f;
34542 }
34543 else if (Collision.SolidCollision(vector37, num1599, num1600))
34544 {
34545 if (velocity.Y > 0f)
34546 {
34547 velocity.Y = 0f;
34548 }
34549 if ((double)velocity.Y > -0.2)
34550 {
34551 velocity.Y -= 0.025f;
34552 }
34553 else
34554 {
34555 velocity.Y -= 0.2f;
34556 }
34557 if (velocity.Y < -4f)
34558 {
34559 velocity.Y = -4f;
34560 }
34561 }
34562 else
34563 {
34564 if (velocity.Y < 0f)
34565 {
34566 velocity.Y = 0f;
34567 }
34568 if ((double)velocity.Y < 0.1)
34569 {
34570 velocity.Y += 0.025f;
34571 }
34572 else
34573 {
34574 velocity.Y += 0.5f;
34575 }
34576 }
34577 if (velocity.Y > 10f)
34578 {
34579 velocity.Y = 10f;
34580 }
34581 }
34582 else if (aiStyle == 62)
34583 {
34584 TargetClosest();
34585 rotation = Math.Abs(velocity.X) * (float)direction * 0.1f;
34587 float num1601 = 7f;
34588 Vector2 vector38 = default(Vector2);
34589 ((Vector2)(ref vector38))._002Ector(base.Center.X + (float)(direction * 20), base.Center.Y + 6f);
34590 float num1602 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector38.X;
34591 float num1603 = Main.player[target].position.Y - vector38.Y;
34592 float num1604 = (float)Math.Sqrt(num1602 * num1602 + num1603 * num1603);
34593 float num1605 = num1601 / num1604;
34594 num1602 *= num1605;
34595 num1603 *= num1605;
34596 bool flag56 = Collision.CanHit(base.Center, 1, 1, Main.player[target].Center, 1, 1);
34597 if (Main.dayTime)
34598 {
34599 int num4 = 60;
34600 velocity.X = (velocity.X * (float)(num4 - 1) - num1602) / (float)num4;
34601 velocity.Y = (velocity.Y * (float)(num4 - 1) - num1603) / (float)num4;
34602 EncourageDespawn(10);
34603 return;
34604 }
34605 if (num1604 > 600f || !flag56)
34606 {
34607 int num5 = 60;
34608 velocity.X = (velocity.X * (float)(num5 - 1) + num1602) / (float)num5;
34609 velocity.Y = (velocity.Y * (float)(num5 - 1) + num1603) / (float)num5;
34610 return;
34611 }
34612 velocity *= 0.98f;
34613 if (Math.Abs(velocity.X) < 1f && Math.Abs(velocity.Y) < 1f && Main.netMode != 1)
34614 {
34615 localAI[0] += 1f;
34616 if (localAI[0] >= 15f)
34617 {
34618 localAI[0] = 0f;
34619 num1602 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector38.X;
34620 num1603 = Main.player[target].Center.Y - vector38.Y;
34621 num1602 += (float)Main.rand.Next(-35, 36);
34622 num1603 += (float)Main.rand.Next(-35, 36);
34623 num1602 *= 1f + (float)Main.rand.Next(-20, 21) * 0.015f;
34624 num1603 *= 1f + (float)Main.rand.Next(-20, 21) * 0.015f;
34625 num1604 = (float)Math.Sqrt(num1602 * num1602 + num1603 * num1603);
34626 num1601 = 10f;
34628 num1602 *= num1605;
34629 num1603 *= num1605;
34630 num1602 *= 1f + (float)Main.rand.Next(-20, 21) * 0.0125f;
34631 num1603 *= 1f + (float)Main.rand.Next(-20, 21) * 0.0125f;
34632 int num6 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector38.X, vector38.Y, num1602, num1603, 180, 32, 0f, Main.myPlayer);
34633 }
34634 }
34635 }
34636 else if (aiStyle == 63)
34637 {
34638 TargetClosest();
34639 float num7 = 11f;
34640 Vector2 vector39 = default(Vector2);
34641 ((Vector2)(ref vector39))._002Ector(base.Center.X + (float)(direction * 20), base.Center.Y + 6f);
34642 float num8 = Main.player[target].position.X + (float)Main.player[target].width * 0.5f - vector39.X;
34643 float num9 = Main.player[target].Center.Y - vector39.Y;
34644 float num10 = (float)Math.Sqrt(num8 * num8 + num9 * num9);
34645 float num11 = num7 / num10;
34646 num8 *= num11;
34647 num9 *= num11;
34648 if (Main.dayTime)
34649 {
34650 num8 = 0f - num8;
34651 num9 = 0f - num9;
34652 }
34653 this.ai[0] -= 1f;
34654 if (num10 < 200f || this.ai[0] > 0f)
34655 {
34656 if (num10 < 200f)
34657 {
34658 this.ai[0] = 20f;
34659 }
34660 if (velocity.X < 0f)
34661 {
34662 direction = -1;
34663 }
34664 else
34665 {
34666 direction = 1;
34667 }
34668 rotation += (float)direction * 0.3f;
34669 return;
34670 }
34671 velocity.X = (velocity.X * 50f + num8) / 51f;
34672 velocity.Y = (velocity.Y * 50f + num9) / 51f;
34673 if (num10 < 350f)
34674 {
34675 velocity.X = (velocity.X * 10f + num8) / 11f;
34676 velocity.Y = (velocity.Y * 10f + num9) / 11f;
34677 }
34678 if (num10 < 300f)
34679 {
34680 velocity.X = (velocity.X * 7f + num8) / 8f;
34681 velocity.Y = (velocity.Y * 7f + num9) / 8f;
34682 }
34683 rotation = velocity.X * 0.15f;
34684 }
34685 else if (aiStyle == 64)
34686 {
34687 float num12 = this.ai[0];
34688 float num13 = this.ai[1];
34689 if (Main.netMode != 1)
34690 {
34691 localAI[0] -= 1f;
34692 if (this.ai[3] == 0f)
34693 {
34694 this.ai[3] = (float)Main.rand.Next(75, 111) * 0.01f;
34695 }
34696 if (localAI[0] <= 0f)
34697 {
34698 TargetClosest();
34699 localAI[0] = Main.rand.Next(60, 180);
34700 float num15 = Math.Abs(base.Center.X - Main.player[target].Center.X);
34701 if (num15 > 700f && localAI[3] == 0f)
34702 {
34703 float num16 = (float)Main.rand.Next(50, 151) * 0.01f;
34704 if (num15 > 1000f)
34705 {
34706 num16 = (float)Main.rand.Next(150, 201) * 0.01f;
34707 }
34708 else if (num15 > 850f)
34709 {
34710 num16 = (float)Main.rand.Next(100, 151) * 0.01f;
34711 }
34712 int num17 = direction * Main.rand.Next(100, 251);
34713 int num18 = Main.rand.Next(-50, 51);
34714 if (position.Y > Main.player[target].position.Y - 100f)
34715 {
34716 num18 -= Main.rand.Next(100, 251);
34717 }
34718 float num19 = num16 / (float)Math.Sqrt(num17 * num17 + num18 * num18);
34719 num12 = (float)num17 * num19;
34720 num13 = (float)num18 * num19;
34721 }
34722 else
34723 {
34724 localAI[3] = 1f;
34725 float num20 = (float)Main.rand.Next(5, 151) * 0.01f;
34726 int num21 = Main.rand.Next(-100, 101);
34727 int num22 = Main.rand.Next(-100, 101);
34728 float num23 = num20 / (float)Math.Sqrt(num21 * num21 + num22 * num22);
34729 num12 = (float)num21 * num23;
34730 num13 = (float)num22 * num23;
34731 }
34732 netUpdate = true;
34733 }
34734 }
34735 scale = this.ai[3];
34736 if (type == 677)
34737 {
34738 bool flag58 = true;
34739 Point point13 = base.Center.ToTileCoordinates();
34740 int num24 = 40;
34741 if (point13.X < num24)
34742 {
34743 num12 += 0.5f;
34744 if (num12 > 3f)
34745 {
34746 num12 = 3f;
34747 }
34748 flag58 = false;
34749 }
34750 else if (point13.X > Main.maxTilesX - num24)
34751 {
34752 num12 -= 0.5f;
34753 if (num12 < -3f)
34754 {
34755 num12 = -3f;
34756 }
34757 flag58 = false;
34758 }
34759 if (point13.Y < num24)
34760 {
34761 num13 += 0.5f;
34762 if (num13 > 3f)
34763 {
34764 velocity.Y = 3f;
34765 }
34766 flag58 = false;
34767 }
34768 else if (point13.Y > Main.maxTilesY - num24)
34769 {
34770 num13 -= 0.5f;
34771 if (num13 < -3f)
34772 {
34773 num13 = -3f;
34774 }
34775 flag58 = false;
34776 }
34777 if (localAI[1] > 0f)
34778 {
34779 localAI[1]--;
34780 }
34781 else if (flag58)
34782 {
34783 localAI[1] = 15f;
34784 float num26 = 0f;
34785 Vector2 zero = Vector2.Zero;
34786 for (int num27 = 0; num27 < 200; num27++)
34787 {
34788 NPC nPC17 = Main.npc[num27];
34789 if (nPC17.active && nPC17.damage > 0 && !nPC17.friendly && nPC17.Hitbox.Distance(base.Center) <= 100f)
34790 {
34791 num26++;
34792 zero += DirectionFrom(nPC17.Center);
34793 }
34794 }
34795 for (int num28 = 0; num28 < 255; num28++)
34796 {
34797 Player player6 = Main.player[num28];
34798 if (player6.active && player6.Hitbox.Distance(base.Center) <= 150f)
34799 {
34800 num26++;
34801 zero += DirectionFrom(player6.Center);
34802 }
34803 }
34804 if (num26 > 0f)
34805 {
34806 float num29 = 2f;
34807 zero /= num26;
34808 zero *= num29;
34809 velocity += zero;
34810 if (((Vector2)(ref velocity)).Length() > 8f)
34811 {
34812 velocity = velocity.SafeNormalize(Vector2.Zero) * 8f;
34813 }
34814 Vector2 vector40 = base.Center + zero * 10f;
34815 localAI[0] = 10f;
34816 netUpdate = true;
34817 }
34818 }
34819 }
34820 else if (localAI[2] > 0f)
34821 {
34822 int i3 = (int)base.Center.X / 16;
34823 int j3 = (int)base.Center.Y / 16;
34824 if (localAI[2] > 3f)
34825 {
34826 if (type == 358)
34827 {
34828 Lighting.AddLight(i3, j3, 0.10124999f * scale, 0.21374999f * scale, 0.225f * scale);
34829 }
34830 else if (type == 654)
34831 {
34832 Lighting.AddLight(i3, j3, 0.225f * scale, 0.105000004f * scale, 0.060000002f * scale);
34833 }
34834 else
34835 {
34836 Lighting.AddLight(i3, j3, 0.109500006f * scale, 0.15f * scale, 0.0615f * scale);
34837 }
34838 }
34839 localAI[2] -= 1f;
34840 }
34841 else if (localAI[1] > 0f)
34842 {
34843 localAI[1] -= 1f;
34844 }
34845 else
34846 {
34847 localAI[1] = Main.rand.Next(30, 180);
34848 if (!Main.dayTime || (double)(position.Y / 16f) > Main.worldSurface + 10.0)
34849 {
34850 localAI[2] = Main.rand.Next(10, 30);
34851 }
34852 }
34853 int num30 = 80;
34854 velocity.X = (velocity.X * (float)(num30 - 1) + num12) / (float)num30;
34855 velocity.Y = (velocity.Y * (float)(num30 - 1) + num13) / (float)num30;
34856 if (velocity.Y > 0f)
34857 {
34858 int num31 = 4;
34859 int num32 = (int)base.Center.X / 16;
34860 int num33 = (int)base.Center.Y / 16;
34861 for (int num34 = num33; num34 < num33 + num31; num34++)
34862 {
34863 if (WorldGen.InWorld(num32, num34, 2) && Main.tile[num32, num34] != null && ((Main.tile[num32, num34].nactive() && Main.tileSolid[Main.tile[num32, num34].type]) || Main.tile[num32, num34].liquid > 0))
34864 {
34865 num13 *= -1f;
34866 if (velocity.Y > 0f)
34867 {
34868 velocity.Y *= 0.9f;
34869 }
34870 }
34871 }
34872 }
34873 if (velocity.Y < 0f)
34874 {
34875 int num35 = 30;
34876 bool flag59 = false;
34877 int num37 = (int)base.Center.X / 16;
34878 int num38 = (int)base.Center.Y / 16;
34879 for (int num39 = num38; num39 < num38 + num35; num39++)
34880 {
34881 if (WorldGen.InWorld(num37, num39, 2) && Main.tile[num37, num39] != null && Main.tile[num37, num39].nactive() && Main.tileSolid[Main.tile[num37, num39].type])
34882 {
34883 flag59 = true;
34884 }
34885 }
34886 if (!flag59)
34887 {
34888 num13 *= -1f;
34889 if (velocity.Y < 0f)
34890 {
34891 velocity.Y *= 0.9f;
34892 }
34893 }
34894 }
34895 if (collideX)
34896 {
34897 num12 = ((!(velocity.X < 0f)) ? (0f - Math.Abs(num12)) : Math.Abs(num12));
34898 velocity.X *= -0.2f;
34899 }
34900 if (type == 677)
34901 {
34902 rotation = velocity.X * 0.3f;
34903 }
34904 if (velocity.X < 0f)
34905 {
34906 direction = -1;
34907 }
34908 if (velocity.X > 0f)
34909 {
34910 direction = 1;
34911 }
34912 this.ai[0] = num12;
34913 this.ai[1] = num13;
34914 }
34915 else if (aiStyle == 65)
34916 {
34918 }
34919 else if (aiStyle == 66)
34920 {
34921 if (type == 484)
34922 {
34923 float num40 = (float)Main.rand.Next(90, 111) * 0.01f;
34924 num40 *= (Main.essScale + 0.5f) / 2f;
34925 Lighting.AddLight((int)((position.X + (float)(width / 2)) / 16f), (int)((position.Y + (float)(height / 2)) / 16f), 0.3f * num40, 0.1f * num40, 0.25f * num40);
34926 }
34927 if (velocity.Y == 0f)
34928 {
34929 if (this.ai[0] == 1f)
34930 {
34931 if (direction == 0)
34932 {
34933 TargetClosest();
34934 }
34935 if (collideX)
34936 {
34937 direction *= -1;
34938 }
34939 float num41 = 0.2f;
34940 if (type == 485)
34941 {
34942 num41 = 0.25f;
34943 }
34944 if (type == 486)
34945 {
34946 num41 = 0.325f;
34947 }
34948 if (type == 487)
34949 {
34950 num41 = 0.4f;
34951 }
34952 velocity.X = num41 * (float)direction;
34953 if (type == 374)
34954 {
34955 velocity.X *= 3f;
34956 }
34957 }
34958 else
34959 {
34960 velocity.X = 0f;
34961 }
34962 if (Main.netMode != 1)
34963 {
34964 localAI[1] -= 1f;
34965 if (localAI[1] <= 0f)
34966 {
34967 if (this.ai[0] == 1f)
34968 {
34969 this.ai[0] = 0f;
34970 localAI[1] = Main.rand.Next(300, 900);
34971 }
34972 else
34973 {
34974 this.ai[0] = 1f;
34975 localAI[1] = Main.rand.Next(600, 1800);
34976 }
34977 netUpdate = true;
34978 }
34979 }
34980 }
34981 else if (direction == 0)
34982 {
34983 direction = 1;
34984 if (velocity.X < 0f)
34985 {
34986 direction = -1;
34987 }
34988 }
34989 if (type != 374)
34990 {
34991 return;
34992 }
34994 bool flag60 = false;
34995 for (int num42 = 0; num42 < 255; num42++)
34996 {
34997 Player player7 = Main.player[num42];
34998 if (player7.active && !player7.dead && !(Vector2.Distance(player7.Center, base.Center) > 160f))
34999 {
35000 flag60 = true;
35001 break;
35002 }
35003 }
35004 int num43 = 90;
35005 if (flag60 && this.ai[1] < (float)num43)
35006 {
35007 this.ai[1]++;
35008 }
35009 if (this.ai[1] == (float)num43 && Main.netMode != 1)
35010 {
35011 position.Y += 16f;
35012 Transform(375);
35013 netUpdate = true;
35014 }
35015 }
35016 else if (aiStyle == 67)
35017 {
35018 if (Main.netMode != 1)
35019 {
35020 int num44 = (int)MathHelper.Clamp((float)(int)(base.Center.X / 16f), 0f, (float)Main.maxTilesX);
35021 int num45 = (int)MathHelper.Clamp((float)(int)(base.Center.Y / 16f), 0f, (float)Main.maxTilesY);
35022 Tile tile = Main.tile[num44, num45];
35023 if (tile.shimmer() && tile.liquid > 30)
35024 {
35025 GetShimmered();
35026 return;
35027 }
35028 }
35029 if (type == 359)
35030 {
35031 if (this.ai[3] != 0f)
35032 {
35033 scale = this.ai[3];
35034 int num46 = (int)(12f * scale);
35035 int num48 = (int)(12f * scale);
35036 if (num46 != width)
35037 {
35038 position.X = position.X + (float)(width / 2) - (float)num46 - 2f;
35039 width = num46;
35040 }
35041 if (num48 != height)
35042 {
35043 position.Y = position.Y + (float)height - (float)num48;
35044 height = num48;
35045 }
35046 }
35047 if (this.ai[3] == 0f && Main.netMode != 1)
35048 {
35049 this.ai[3] = (float)Main.rand.Next(80, 111) * 0.01f;
35050 netUpdate = true;
35051 }
35052 }
35053 if (type == 360)
35054 {
35055 Lighting.AddLight((int)base.Center.X / 16, (int)base.Center.Y / 16, 0.1f, 0.2f, 0.7f);
35056 }
35057 if (type == 655)
35058 {
35059 Lighting.AddLight((int)base.Center.X / 16, (int)base.Center.Y / 16, 0.6f, 0.3f, 0.1f);
35060 }
35061 float num49 = 0.3f;
35062 if (type == 360 || type == 655)
35063 {
35064 num49 = 0.6f;
35065 }
35066 if (this.ai[0] == 0f)
35067 {
35068 TargetClosest();
35069 directionY = 1;
35070 this.ai[0] = 1f;
35071 if (direction > 0)
35072 {
35073 spriteDirection = 1;
35074 }
35075 }
35076 bool flag61 = false;
35077 if (Main.netMode != 1)
35078 {
35079 if (this.ai[2] == 0f && Main.rand.Next(7200) == 0)
35080 {
35081 this.ai[2] = 2f;
35082 netUpdate = true;
35083 }
35084 if (!collideX && !collideY)
35085 {
35086 localAI[3] += 1f;
35087 if (localAI[3] > 5f)
35088 {
35089 this.ai[2] = 2f;
35090 netUpdate = true;
35091 }
35092 }
35093 else
35094 {
35095 localAI[3] = 0f;
35096 }
35097 }
35098 if (this.ai[2] > 0f)
35099 {
35100 this.ai[1] = 0f;
35101 this.ai[0] = 1f;
35102 directionY = 1;
35103 if (velocity.Y > num49)
35104 {
35105 rotation += (float)direction * 0.1f;
35106 }
35107 else
35108 {
35109 rotation = 0f;
35110 }
35112 velocity.X = num49 * (float)direction;
35113 noGravity = false;
35114 int num50 = (int)(base.Center.X + (float)(width / 2 * -direction)) / 16;
35115 int num51 = (int)(position.Y + (float)height + 8f) / 16;
35116 if (Main.tile[num50, num51] != null && !Main.tile[num50, num51].topSlope() && collideY)
35117 {
35118 this.ai[2] -= 1f;
35119 }
35120 num51 = (int)(position.Y + (float)height - 4f) / 16;
35121 num50 = (int)(base.Center.X + (float)(width / 2 * direction)) / 16;
35122 if (Main.tile[num50, num51] != null && Main.tile[num50, num51].bottomSlope())
35123 {
35124 direction *= -1;
35125 }
35126 if (collideX && velocity.Y == 0f)
35127 {
35128 flag61 = true;
35129 this.ai[2] = 0f;
35130 directionY = -1;
35131 this.ai[1] = 1f;
35132 }
35133 if (velocity.Y == 0f)
35134 {
35135 if (localAI[1] == position.X)
35136 {
35137 localAI[2] += 1f;
35138 if (localAI[2] > 10f)
35139 {
35140 direction = 1;
35141 velocity.X = (float)direction * num49;
35142 localAI[2] = 0f;
35143 }
35144 }
35145 else
35146 {
35147 localAI[2] = 0f;
35148 localAI[1] = position.X;
35149 }
35150 }
35151 }
35152 if (this.ai[2] != 0f)
35153 {
35154 return;
35155 }
35156 noGravity = true;
35157 if (this.ai[1] == 0f)
35158 {
35159 if (collideY)
35160 {
35161 this.ai[0] = 2f;
35162 }
35163 if (!collideY && this.ai[0] == 2f)
35164 {
35166 this.ai[1] = 1f;
35167 this.ai[0] = 1f;
35168 }
35169 if (collideX)
35170 {
35172 this.ai[1] = 1f;
35173 }
35174 }
35175 else
35176 {
35177 if (collideX)
35178 {
35179 this.ai[0] = 2f;
35180 }
35181 if (!collideX && this.ai[0] == 2f)
35182 {
35184 this.ai[1] = 0f;
35185 this.ai[0] = 1f;
35186 }
35187 if (collideY)
35188 {
35190 this.ai[1] = 0f;
35191 }
35192 }
35193 if (!flag61)
35194 {
35195 float num52 = rotation;
35196 if (directionY < 0)
35197 {
35198 if (direction < 0)
35199 {
35200 if (collideX)
35201 {
35202 rotation = 1.57f;
35203 spriteDirection = -1;
35204 }
35205 else if (collideY)
35206 {
35207 rotation = 3.14f;
35208 spriteDirection = 1;
35209 }
35210 }
35211 else if (collideY)
35212 {
35213 rotation = 3.14f;
35214 spriteDirection = -1;
35215 }
35216 else if (collideX)
35217 {
35218 rotation = 4.71f;
35219 spriteDirection = 1;
35220 }
35221 }
35222 else if (direction < 0)
35223 {
35224 if (collideY)
35225 {
35226 rotation = 0f;
35227 spriteDirection = -1;
35228 }
35229 else if (collideX)
35230 {
35231 rotation = 1.57f;
35232 spriteDirection = 1;
35233 }
35234 }
35235 else if (collideX)
35236 {
35237 rotation = 4.71f;
35238 spriteDirection = -1;
35239 }
35240 else if (collideY)
35241 {
35242 rotation = 0f;
35243 spriteDirection = 1;
35244 }
35245 float num53 = rotation;
35246 rotation = num52;
35247 if ((double)rotation > 6.28)
35248 {
35249 rotation -= 6.28f;
35250 }
35251 if (rotation < 0f)
35252 {
35253 rotation += 6.28f;
35254 }
35255 float num54 = Math.Abs(rotation - num53);
35256 float num55 = 0.1f;
35257 if (rotation > num53)
35258 {
35259 if ((double)num54 > 3.14)
35260 {
35261 rotation += num55;
35262 }
35263 else
35264 {
35265 rotation -= num55;
35266 if (rotation < num53)
35267 {
35268 rotation = num53;
35269 }
35270 }
35271 }
35272 if (rotation < num53)
35273 {
35274 if ((double)num54 > 3.14)
35275 {
35276 rotation -= num55;
35277 }
35278 else
35279 {
35280 rotation += num55;
35281 if (rotation > num53)
35282 {
35283 rotation = num53;
35284 }
35285 }
35286 }
35287 }
35288 velocity.X = num49 * (float)direction;
35289 velocity.Y = num49 * (float)directionY;
35290 }
35291 else if (aiStyle == 68)
35292 {
35293 noGravity = true;
35294 if (this.ai[0] == 0f)
35295 {
35296 noGravity = false;
35297 int num56 = direction;
35298 int num57 = target;
35299 TargetClosest();
35300 if (num57 >= 0 && num56 != 0)
35301 {
35302 direction = num56;
35303 }
35304 if (wet && WorldGen.InWorld((int)(base.Center.X + (float)((width / 2 + 8) * direction)) / 16, (int)(base.Center.Y / 16f), 5))
35305 {
35306 float num59 = 2f;
35307 velocity.X = (velocity.X * 19f + num59 * (float)direction) / 20f;
35308 int num60 = (int)(base.Center.X + (float)((width / 2 + 8) * direction)) / 16;
35309 int num61 = (int)(base.Center.Y / 16f);
35310 int j4 = (int)(position.Y / 16f);
35311 int num62 = (int)((position.Y + (float)height) / 16f);
35312 if (Main.tile[num60, num61] == null)
35313 {
35314 Main.tile[num60, num61] = default(Tile);
35315 }
35316 if (Main.tile[num60, num62] == null)
35317 {
35318 Main.tile[num60, num62] = default(Tile);
35319 }
35320 if (num60 < 5 || num60 > Main.maxTilesX - 5 || WorldGen.SolidTile(num60, num61) || WorldGen.SolidTile(num60, j4) || WorldGen.SolidTile(num60, num62) || Main.tile[num60, num62].liquid == 0)
35321 {
35322 direction *= -1;
35323 }
35325 if (velocity.Y > 0f)
35326 {
35327 velocity.Y *= 0.5f;
35328 }
35329 noGravity = true;
35330 num60 = (int)(base.Center.X / 16f);
35331 num61 = (int)(base.Center.Y / 16f);
35332 float num63 = position.Y + (float)height;
35333 if (Main.tile[num60, num61 - 1] == null)
35334 {
35335 Main.tile[num60, num61 - 1] = default(Tile);
35336 }
35337 if (Main.tile[num60, num61] == null)
35338 {
35339 Main.tile[num60, num61] = default(Tile);
35340 }
35341 if (Main.tile[num60, num61 + 1] == null)
35342 {
35343 Main.tile[num60, num61 + 1] = default(Tile);
35344 }
35345 if (Main.tile[num60, num61 - 1].liquid > 0)
35346 {
35347 num63 = num61 * 16;
35348 num63 -= (float)(Main.tile[num60, num61 - 1].liquid / 16);
35349 }
35350 else if (Main.tile[num60, num61].liquid > 0)
35351 {
35352 num63 = (num61 + 1) * 16;
35353 num63 -= (float)(Main.tile[num60, num61].liquid / 16);
35354 }
35355 else if (Main.tile[num60, num61 + 1].liquid > 0)
35356 {
35357 num63 = (num61 + 2) * 16;
35358 num63 -= (float)(Main.tile[num60, num61 + 1].liquid / 16);
35359 }
35360 num63 -= 6f;
35361 if (base.Center.Y > num63)
35362 {
35363 velocity.Y -= 0.1f;
35364 if (velocity.Y < -8f)
35365 {
35366 velocity.Y = -8f;
35367 }
35368 if (base.Center.Y + velocity.Y < num63)
35369 {
35370 velocity.Y = num63 - base.Center.Y;
35371 }
35372 }
35373 else
35374 {
35375 velocity.Y = num63 - base.Center.Y;
35376 }
35377 }
35378 if (Main.netMode == 1)
35379 {
35380 return;
35381 }
35382 if (!wet)
35383 {
35384 this.ai[0] = 1f;
35385 netUpdate = true;
35387 return;
35388 }
35389 Rectangle rectangle4 = default(Rectangle);
35390 ((Rectangle)(ref rectangle4))._002Ector((int)Main.player[target].position.X, (int)Main.player[target].position.Y, Main.player[target].width, Main.player[target].height);
35391 val38 = new Rectangle((int)position.X - 100, (int)position.Y - 100, width + 200, height + 200);
35392 if (((Rectangle)(ref val38)).Intersects(rectangle4) || life < lifeMax)
35393 {
35394 this.ai[0] = 1f;
35395 velocity.Y -= 6f;
35396 netUpdate = true;
35398 }
35399 }
35400 else
35401 {
35402 if (Main.player[target].dead)
35403 {
35404 return;
35405 }
35406 bool flag62 = false;
35407 this.ai[1] += 1f;
35408 if (this.ai[1] >= 300f)
35409 {
35410 flag62 = true;
35411 }
35412 if (flag62)
35413 {
35414 if (velocity.Y == 0f || collideY || wet)
35415 {
35416 velocity.X = 0f;
35417 velocity.Y = 0f;
35418 this.ai[0] = 0f;
35419 this.ai[1] = 0f;
35420 if (Main.netMode != 1)
35421 {
35422 if ((type == 363 || type == 365 || type == 603 || type == 609) && !wet)
35423 {
35424 int num64 = direction;
35425 Transform(type - 1);
35426 TargetClosest();
35427 direction = num64;
35428 this.ai[0] = 0f;
35429 this.ai[1] = 200 + Main.rand.Next(200);
35430 }
35431 netUpdate = true;
35432 }
35433 }
35434 else
35435 {
35436 velocity.X *= 0.98f;
35437 velocity.Y += 0.1f;
35438 if (velocity.Y > 2f)
35439 {
35440 velocity.Y = 2f;
35441 }
35442 }
35443 return;
35444 }
35445 if (collideX)
35446 {
35447 direction *= -1;
35448 velocity.X = oldVelocity.X * -0.5f;
35449 if (direction == -1 && velocity.X > 0f && velocity.X < 2f)
35450 {
35451 velocity.X = 2f;
35452 }
35453 if (direction == 1 && velocity.X < 0f && velocity.X > -2f)
35454 {
35455 velocity.X = -2f;
35456 }
35457 }
35458 if (collideY)
35459 {
35460 velocity.Y = oldVelocity.Y * -0.5f;
35461 if (velocity.Y > 0f && velocity.Y < 1f)
35462 {
35463 velocity.Y = 1f;
35464 }
35465 if (velocity.Y < 0f && velocity.Y > -1f)
35466 {
35467 velocity.Y = -1f;
35468 }
35469 }
35470 if (direction == -1 && velocity.X > -3f)
35471 {
35472 velocity.X -= 0.1f;
35473 if (velocity.X > 3f)
35474 {
35475 velocity.X -= 0.1f;
35476 }
35477 else if (velocity.X > 0f)
35478 {
35479 velocity.X -= 0.05f;
35480 }
35481 if (velocity.X < -3f)
35482 {
35483 velocity.X = -3f;
35484 }
35485 }
35486 else if (direction == 1 && velocity.X < 3f)
35487 {
35488 velocity.X += 0.1f;
35489 if (velocity.X < -3f)
35490 {
35491 velocity.X += 0.1f;
35492 }
35493 else if (velocity.X < 0f)
35494 {
35495 velocity.X += 0.05f;
35496 }
35497 if (velocity.X > 3f)
35498 {
35499 velocity.X = 3f;
35500 }
35501 }
35502 int num65 = (int)((position.X + (float)(width / 2)) / 16f) + direction;
35503 int num66 = (int)((position.Y + (float)height) / 16f);
35504 bool flag63 = true;
35505 int num67 = 15;
35506 bool flag64 = false;
35507 for (int num68 = num66; num68 < num66 + num67; num68++)
35508 {
35509 if (Main.tile[num65, num68] == null)
35510 {
35511 Main.tile[num65, num68] = default(Tile);
35512 }
35513 if ((Main.tile[num65, num68].nactive() && Main.tileSolid[Main.tile[num65, num68].type]) || Main.tile[num65, num68].liquid > 0)
35514 {
35515 if (num68 < num66 + 5)
35516 {
35517 flag64 = true;
35518 }
35519 flag63 = false;
35520 break;
35521 }
35522 }
35523 if (flag63)
35524 {
35525 velocity.Y += 0.1f;
35526 }
35527 else
35528 {
35529 velocity.Y -= 0.1f;
35530 }
35531 if (flag64)
35532 {
35533 velocity.Y -= 0.2f;
35534 }
35535 if (velocity.Y > 3f)
35536 {
35537 velocity.Y = 3f;
35538 }
35539 if (velocity.Y < -4f)
35540 {
35541 velocity.Y = -4f;
35542 }
35543 }
35544 }
35545 else if (aiStyle == 69)
35546 {
35548 }
35549 else if (aiStyle == 70)
35550 {
35551 if (target == 255)
35552 {
35553 TargetClosest();
35554 this.ai[3] = (float)Main.rand.Next(80, 121) / 100f;
35555 float num70 = (float)Main.rand.Next(165, 265) / 15f;
35556 velocity = Vector2.Normalize(Main.player[target].Center - base.Center + new Vector2((float)Main.rand.Next(-100, 101), (float)Main.rand.Next(-100, 101))) * num70;
35557 netUpdate = true;
35558 }
35559 Vector2 vector41 = Vector2.Normalize(Main.player[target].Center - base.Center);
35560 velocity = (velocity * 40f + vector41 * 20f) / 41f;
35561 scale = this.ai[3];
35562 alpha -= 30;
35563 if (alpha < 50)
35564 {
35565 alpha = 50;
35566 }
35567 alpha = 50;
35568 velocity.X = (velocity.X * 50f + Main.windSpeedCurrent * 2f + (float)Main.rand.Next(-10, 11) * 0.1f) / 51f;
35569 velocity.Y = (velocity.Y * 50f + -0.25f + (float)Main.rand.Next(-10, 11) * 0.2f) / 51f;
35570 if (velocity.Y > 0f)
35571 {
35572 velocity.Y -= 0.04f;
35573 }
35574 if (this.ai[0] == 0f)
35575 {
35576 int num71 = 40;
35577 Rectangle rect = getRect();
35578 rect.X -= num71 + width / 2;
35579 rect.Y -= num71 + height / 2;
35580 rect.Width += num71 * 2;
35581 rect.Height += num71 * 2;
35582 for (int num72 = 0; num72 < 255; num72++)
35583 {
35584 Player player8 = Main.player[num72];
35585 if (player8.active && !player8.dead && ((Rectangle)(ref rect)).Intersects(player8.getRect()))
35586 {
35587 this.ai[0] = 1f;
35588 this.ai[1] = 4f;
35589 netUpdate = true;
35590 break;
35591 }
35592 }
35593 }
35594 if (this.ai[0] == 0f)
35595 {
35596 this.ai[1]++;
35597 if (this.ai[1] >= 150f)
35598 {
35599 this.ai[0] = 1f;
35600 this.ai[1] = 4f;
35601 }
35602 }
35603 if (this.ai[0] == 1f)
35604 {
35605 this.ai[1]--;
35606 if (this.ai[1] <= 0f)
35607 {
35608 life = 0;
35609 HitEffect();
35610 active = false;
35611 return;
35612 }
35613 }
35614 if (justHit || this.ai[0] == 1f)
35615 {
35616 dontTakeDamage = true;
35617 position = base.Center;
35618 width = (height = 100);
35619 position = new Vector2(position.X - (float)(width / 2), position.Y - (float)(height / 2));
35621 }
35622 }
35623 else if (aiStyle == 71)
35624 {
35625 noTileCollide = true;
35626 int num73 = 90;
35627 if (target < 0 || target == 255 || Main.player[target].dead)
35628 {
35630 direction = 1;
35631 netUpdate = true;
35632 }
35633 if (this.ai[0] == 0f)
35634 {
35635 this.ai[1]++;
35636 _ = type;
35637 noGravity = true;
35638 dontTakeDamage = true;
35639 velocity.Y = this.ai[3];
35640 if (type == 373)
35641 {
35642 float num74 = (float)Math.PI / 30f;
35643 float num75 = this.ai[2];
35644 float num76 = (float)(Math.Cos(num74 * localAI[1]) - 0.5) * num75;
35645 position.X -= num76 * (float)(-direction);
35646 localAI[1]++;
35647 num76 = (float)(Math.Cos(num74 * localAI[1]) - 0.5) * num75;
35648 position.X += num76 * (float)(-direction);
35649 if (Math.Abs(Math.Cos(num74 * localAI[1]) - 0.5) > 0.25)
35650 {
35651 spriteDirection = ((!(Math.Cos(num74 * localAI[1]) - 0.5 >= 0.0)) ? 1 : (-1));
35652 }
35653 rotation = velocity.Y * (float)spriteDirection * 0.1f;
35654 if ((double)rotation < -0.2)
35655 {
35656 rotation = -0.2f;
35657 }
35658 if ((double)rotation > 0.2)
35659 {
35660 rotation = 0.2f;
35661 }
35662 alpha -= 6;
35663 if (alpha < 0)
35664 {
35665 alpha = 0;
35666 }
35667 }
35668 if (this.ai[1] >= (float)num73)
35669 {
35670 this.ai[0] = 1f;
35671 this.ai[1] = 0f;
35672 if (!Collision.SolidCollision(position, width, height))
35673 {
35674 this.ai[1] = 1f;
35675 }
35676 SoundEngine.PlaySound(4, (int)base.Center.X, (int)base.Center.Y, 19);
35677 TargetClosest();
35679 Vector2 vector42 = Main.player[target].Center - base.Center;
35680 ((Vector2)(ref vector42)).Normalize();
35681 velocity = vector42 * 16f;
35682 rotation = velocity.ToRotation();
35683 if (direction == -1)
35684 {
35685 rotation += (float)Math.PI;
35686 }
35687 netUpdate = true;
35688 }
35689 }
35690 else
35691 {
35692 if (this.ai[0] != 1f)
35693 {
35694 return;
35695 }
35696 noGravity = true;
35697 if (!Collision.SolidCollision(position, width, height))
35698 {
35699 if (this.ai[1] < 1f)
35700 {
35701 this.ai[1] = 1f;
35702 }
35703 }
35704 else
35705 {
35706 alpha -= 15;
35707 if (alpha < 150)
35708 {
35709 alpha = 150;
35710 }
35711 }
35712 if (this.ai[1] >= 1f)
35713 {
35714 alpha -= 60;
35715 if (alpha < 0)
35716 {
35717 alpha = 0;
35718 }
35719 dontTakeDamage = false;
35720 this.ai[1]++;
35721 if (Collision.SolidCollision(position, width, height))
35722 {
35723 if (DeathSound.HasValue)
35724 {
35726 }
35727 life = 0;
35728 HitEffect();
35729 active = false;
35730 return;
35731 }
35732 }
35733 if (this.ai[1] >= 60f)
35734 {
35735 noGravity = false;
35736 }
35737 rotation = velocity.ToRotation();
35738 if (direction == -1)
35739 {
35740 rotation += (float)Math.PI;
35741 }
35742 }
35743 }
35744 else if (aiStyle == 72)
35745 {
35746 if (type == 384)
35747 {
35748 int num77 = (int)this.ai[0];
35749 if (Main.npc[num77].active && Main.npc[num77].type == 383)
35750 {
35751 velocity = Vector2.Zero;
35752 position = Main.npc[num77].Center;
35753 position.X -= width / 2;
35754 position.Y -= height / 2;
35755 gfxOffY = Main.npc[num77].gfxOffY;
35756 Lighting.AddLight((int)base.Center.X / 16, (int)base.Center.Y / 16, 0.1f, 0.5f, 0.7f);
35757 }
35758 else
35759 {
35760 life = 0;
35761 HitEffect();
35762 active = false;
35763 }
35764 }
35765 }
35766 else if (aiStyle == 73)
35767 {
35770 velocity.X *= 0.93f;
35771 if ((double)velocity.X > -0.1 && (double)velocity.X < 0.1)
35772 {
35773 velocity.X = 0f;
35774 }
35775 if (type == 387)
35776 {
35777 float num78 = 120f;
35778 float num79 = 60f;
35779 if (this.ai[1] < num78)
35780 {
35781 this.ai[1]++;
35782 if (this.ai[1] > 60f)
35783 {
35784 float num81 = (this.ai[1] - num79) / (num78 - num79);
35785 alpha = (int)((1f - num81) * 255f);
35786 }
35787 else
35788 {
35789 alpha = 255;
35790 }
35791 dontTakeDamage = true;
35792 frameCounter = 0.0;
35793 frame.Y = 0;
35794 float num82 = this.ai[1] / num79;
35795 Vector2 spinningpoint = default(Vector2);
35796 ((Vector2)(ref spinningpoint))._002Ector(0f, -30f);
35798 double radians2 = num82 * 1.5f * ((float)Math.PI * 2f);
35799 val29 = default(Vector2);
35800 spinningpoint = spinningpoint15.RotatedBy(radians2, val29) * new Vector2(1f, 0.4f);
35801 for (int num83 = 0; num83 < 4; num83++)
35802 {
35803 Vector2 vector43 = Vector2.Zero;
35804 float num84 = 1f;
35805 if (num83 == 0)
35806 {
35807 vector43 = Vector2.UnitY * -15f;
35808 num84 = 0.15f;
35809 }
35810 if (num83 == 1)
35811 {
35812 vector43 = Vector2.UnitY * -5f;
35813 num84 = 0.3f;
35814 }
35815 if (num83 == 2)
35816 {
35817 vector43 = Vector2.UnitY * 5f;
35818 num84 = 0.6f;
35819 }
35820 if (num83 == 3)
35821 {
35822 vector43 = Vector2.UnitY * 20f;
35823 num84 = 0.45f;
35824 }
35825 Vector2 center40 = base.Center;
35826 newColor = default(Color);
35827 int num85 = Dust.NewDust(center40, 0, 0, 226, 0f, 0f, 100, newColor, 0.5f);
35828 Main.dust[num85].noGravity = true;
35829 Main.dust[num85].position = base.Center + spinningpoint * num84 + vector43;
35830 Main.dust[num85].velocity = Vector2.Zero;
35831 spinningpoint *= -1f;
35832 Vector2 center41 = base.Center;
35833 newColor = default(Color);
35834 num85 = Dust.NewDust(center41, 0, 0, 226, 0f, 0f, 100, newColor, 0.5f);
35835 Main.dust[num85].noGravity = true;
35836 Main.dust[num85].position = base.Center + spinningpoint * num84 + vector43;
35837 Main.dust[num85].velocity = Vector2.Zero;
35838 }
35839 Lighting.AddLight((int)base.Center.X / 16, (int)(base.Center.Y - 10f) / 16, 0.1f * num82, 0.5f * num82, 0.7f * num82);
35840 return;
35841 }
35842 if (this.ai[1] == num78)
35843 {
35844 this.ai[1]++;
35845 netUpdate = true;
35846 }
35847 Lighting.AddLight((int)base.Center.X / 16, (int)(base.Center.Y - 10f) / 16, 0.1f, 0.5f, 0.7f);
35848 dontTakeDamage = false;
35849 }
35850 if (this.ai[0] < 60f)
35851 {
35852 this.ai[0]++;
35853 }
35854 if (justHit)
35855 {
35856 this.ai[0] = -30f;
35857 netUpdate = true;
35858 }
35859 if (this.ai[0] == 60f && Main.netMode != 1)
35860 {
35861 this.ai[0] = -120f;
35862 netUpdate = true;
35863 Vector2 center35 = Main.player[target].Center;
35864 Vector2 vector44 = base.Center - Vector2.UnitY * 10f;
35865 Vector2 vector45 = center35 - vector44;
35866 vector45.X += Main.rand.Next(-100, 101);
35867 vector45.Y += Main.rand.Next(-100, 101);
35868 vector45.X *= (float)Main.rand.Next(70, 131) * 0.01f;
35869 vector45.Y *= (float)Main.rand.Next(70, 131) * 0.01f;
35870 ((Vector2)(ref vector45)).Normalize();
35871 if (float.IsNaN(vector45.X) || float.IsNaN(vector45.Y))
35872 {
35873 vector45 = -Vector2.UnitY;
35874 }
35875 vector45 *= 14f;
35876 int num86 = 35;
35877 float num87 = 1f;
35878 if (type >= 381 && type <= 392)
35879 {
35880 num87 = 0.8f;
35881 }
35883 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector44.X, vector44.Y, vector45.X, vector45.Y, 435, num86, 0f, Main.myPlayer);
35884 }
35885 }
35886 else if (aiStyle == 74)
35887 {
35889 rotation = velocity.ToRotation();
35890 if (rotation < -(float)Math.PI / 2f)
35891 {
35892 rotation += (float)Math.PI;
35893 }
35894 if (rotation > (float)Math.PI / 2f)
35895 {
35896 rotation -= (float)Math.PI;
35897 }
35898 if (Math.Sign(velocity.X) != 0)
35899 {
35900 spriteDirection = -Math.Sign(velocity.X);
35901 }
35902 if (type == 418)
35903 {
35904 spriteDirection = Math.Sign(velocity.X);
35905 }
35906 float num88 = 0.4f;
35907 float num89 = 10f;
35908 float num90 = 200f;
35909 float num92 = 0f;
35910 float num93 = 750f;
35911 float num94 = 0f;
35912 float num95 = 30f;
35913 float num96 = 30f;
35914 float num97 = 0.95f;
35915 int num98 = 50;
35916 float num99 = 14f;
35917 float num100 = 30f;
35918 float num101 = 100f;
35919 float num103 = 20f;
35920 float num104 = 0f;
35921 float num105 = 7f;
35922 bool flag65 = true;
35923 if (type == 418)
35924 {
35925 num88 = 0.3f;
35926 num89 = 8f;
35927 num90 = 175f;
35928 num92 = 175f;
35929 num93 = 600f;
35930 num94 = 80f;
35931 num95 = 60f;
35932 num96 = 20f;
35933 num97 = 0.75f;
35934 num98 = 0;
35935 num99 = 9f;
35936 num100 = 30f;
35937 num101 = 150f;
35938 num103 = 60f;
35939 num104 = 4f / 15f;
35940 num105 = 7f;
35941 flag65 = false;
35942 }
35943 num104 *= num103;
35944 if (Main.expertMode)
35945 {
35946 num88 *= Main.GameModeInfo.KnockbackToEnemiesMultiplier;
35947 }
35948 if (type == 388 && this.ai[0] != 3f)
35949 {
35951 Vector2 val65 = position;
35952 int num1708 = width;
35953 int num1709 = height;
35954 newColor = default(Color);
35955 int num106 = Dust.NewDust(val65, num1708, num1709, 226, 0f, 0f, 100, newColor, 0.5f);
35956 Main.dust[num106].noGravity = true;
35957 Main.dust[num106].velocity = velocity / 5f;
35958 Vector2 spinningpoint5 = default(Vector2);
35959 ((Vector2)(ref spinningpoint5))._002Ector(-10f, 10f);
35960 if (spriteDirection == 1)
35961 {
35962 spinningpoint5.X *= -1f;
35963 }
35965 double radians3 = rotation;
35966 val29 = default(Vector2);
35968 Main.dust[num106].position = base.Center + spinningpoint5;
35970 }
35971 if (type == 418)
35972 {
35973 int num107 = ((this.ai[0] != 2f) ? 1 : 2);
35974 int num108 = ((this.ai[0] == 2f) ? 30 : 20);
35975 for (int num109 = 0; num109 < 2; num109++)
35976 {
35977 if (Main.rand.Next(3) < num107)
35978 {
35980 Vector2 val66 = base.Center - new Vector2((float)num108);
35981 int num1710 = num108 * 2;
35982 int num1711 = num108 * 2;
35983 float speedX25 = velocity.X * 0.5f;
35984 float speedY24 = velocity.Y * 0.5f;
35985 newColor = default(Color);
35986 int num110 = Dust.NewDust(val66, num1710, num1711, 6, speedX25, speedY24, 90, newColor, 1.5f);
35987 Main.dust[num110].noGravity = true;
35988 Dust dust54 = Main.dust[num110];
35989 Dust dust87 = dust54;
35990 dust87.velocity *= 0.2f;
35991 Main.dust[num110].fadeIn = 1f;
35993 }
35994 }
35995 }
35996 if (this.ai[0] == 0f)
35997 {
35999 float num111 = num89;
36000 Vector2 center36 = base.Center;
36001 Vector2 center37 = Main.player[target].Center;
36002 Vector2 vector47 = center37 - center36;
36003 Vector2 vector48 = vector47 - Vector2.UnitY * num90;
36004 vector48 += Vector2.UnitX * ((vector47.X < 0f) ? num92 : (0f - num92));
36005 float num112 = ((Vector2)(ref vector47)).Length();
36006 vector47 = Vector2.Normalize(vector47) * num111;
36007 vector48 = Vector2.Normalize(vector48) * num111;
36008 bool flag66 = Collision.CanHit(base.Center, 1, 1, Main.player[target].Center, 1, 1);
36009 if (this.ai[3] >= 120f)
36010 {
36011 flag66 = true;
36012 }
36013 float num115 = 8f;
36014 flag66 = flag66 && vector47.ToRotation() > (float)Math.PI / num115 && vector47.ToRotation() < (float)Math.PI - (float)Math.PI / num115;
36015 bool flag67 = num112 < num94;
36016 bool flag69 = num112 > num93;
36017 if (flag67 || flag69 || !flag66)
36018 {
36019 velocity.X = (velocity.X * (num95 - 1f) + vector48.X) / num95;
36020 velocity.Y = (velocity.Y * (num95 - 1f) + vector48.Y) / num95;
36021 if (!flag66)
36022 {
36023 if (!flag67 && !flag69)
36024 {
36025 this.ai[3]++;
36026 }
36027 if (this.ai[3] == 120f)
36028 {
36029 netUpdate = true;
36030 }
36031 }
36032 else
36033 {
36034 this.ai[3] = 0f;
36035 }
36036 }
36037 else
36038 {
36039 this.ai[0] = 1f;
36040 this.ai[2] = vector47.X;
36041 this.ai[3] = vector47.Y;
36042 netUpdate = true;
36043 }
36044 }
36045 else if (this.ai[0] == 1f)
36046 {
36047 knockBackResist = 0f;
36048 bool flag70 = true;
36049 if (type == 418)
36050 {
36051 flag70 = ((Vector2)(ref velocity)).Length() > 2f;
36052 if (!flag70 && target >= 0 && !Main.player[target].DeadOrGhost)
36053 {
36054 Vector2 value = (Main.player[target].Center - base.Center).SafeNormalize(Vector2.Zero) * 0.1f;
36055 velocity = Vector2.Lerp(velocity, value, 0.25f);
36056 }
36057 }
36058 if (flag70)
36059 {
36060 velocity *= num97;
36061 }
36062 this.ai[1]++;
36063 if (this.ai[1] >= num96)
36064 {
36065 this.ai[0] = 2f;
36066 this.ai[1] = 0f;
36067 netUpdate = true;
36068 Vector2 vector49 = new Vector2(this.ai[2], this.ai[3]) + new Vector2((float)Main.rand.Next(-num98, num98 + 1), (float)Main.rand.Next(-num98, num98 + 1)) * 0.04f;
36069 ((Vector2)(ref vector49)).Normalize();
36071 }
36072 if (type == 388 && Main.rand.Next(4) == 0)
36073 {
36075 Vector2 val67 = position;
36076 int num1712 = width;
36077 int num1713 = height;
36078 newColor = default(Color);
36079 int num116 = Dust.NewDust(val67, num1712, num1713, 226, 0f, 0f, 100, newColor, 0.5f);
36080 Main.dust[num116].noGravity = true;
36081 Dust dust55 = Main.dust[num116];
36082 Dust dust87 = dust55;
36083 dust87.velocity *= 2f;
36084 Main.dust[num116].velocity = Main.dust[num116].velocity / 2f + Vector2.Normalize(Main.dust[num116].position - base.Center);
36086 }
36087 }
36088 else if (this.ai[0] == 2f)
36089 {
36090 knockBackResist = 0f;
36091 float num117 = num100;
36092 this.ai[1]++;
36093 bool flag71 = Vector2.Distance(base.Center, Main.player[target].Center) > num101 && base.Center.Y > Main.player[target].Center.Y;
36094 if ((this.ai[1] >= num117 && flag71) || ((Vector2)(ref velocity)).Length() < num105)
36095 {
36096 this.ai[0] = 0f;
36097 this.ai[1] = 0f;
36098 this.ai[2] = 0f;
36099 this.ai[3] = 0f;
36100 velocity /= 2f;
36101 netUpdate = true;
36102 if (type == 418)
36103 {
36104 this.ai[1] = 45f;
36105 this.ai[0] = 4f;
36106 }
36107 }
36108 else
36109 {
36110 Vector2 center38 = base.Center;
36111 Vector2 center39 = Main.player[target].Center;
36112 Vector2 vector50 = center39 - center38;
36113 ((Vector2)(ref vector50)).Normalize();
36114 if (vector50.HasNaNs())
36115 {
36116 ((Vector2)(ref vector50))._002Ector((float)direction, 0f);
36117 }
36118 velocity = (velocity * (num103 - 1f) + vector50 * (((Vector2)(ref velocity)).Length() + num104)) / num103;
36119 }
36120 if (flag65 && Collision.SolidCollision(position, width, height))
36121 {
36122 this.ai[0] = 3f;
36123 this.ai[1] = 0f;
36124 this.ai[2] = 0f;
36125 this.ai[3] = 0f;
36126 netUpdate = true;
36127 }
36128 }
36129 else if (this.ai[0] == 4f)
36130 {
36131 this.ai[1] -= 3f;
36132 if (this.ai[1] <= 0f)
36133 {
36134 this.ai[0] = 0f;
36135 this.ai[1] = 0f;
36136 netUpdate = true;
36137 }
36138 velocity *= 0.95f;
36139 }
36140 if (flag65 && this.ai[0] != 3f && Vector2.Distance(base.Center, Main.player[target].Center) < 64f)
36141 {
36142 this.ai[0] = 3f;
36143 this.ai[1] = 0f;
36144 this.ai[2] = 0f;
36145 this.ai[3] = 0f;
36146 netUpdate = true;
36147 }
36148 if (this.ai[0] != 3f)
36149 {
36150 return;
36151 }
36152 position = base.Center;
36153 width = (height = 192);
36154 position.X -= width / 2;
36155 position.Y -= height / 2;
36156 velocity = Vector2.Zero;
36158 alpha = 255;
36159 Lighting.AddLight((int)base.Center.X / 16, (int)base.Center.Y / 16, 0.2f, 0.7f, 1.1f);
36160 for (int num118 = 0; num118 < 10; num118++)
36161 {
36162 Vector2 val68 = position;
36163 int num1714 = width;
36164 int num1715 = height;
36165 newColor = default(Color);
36166 int num119 = Dust.NewDust(val68, num1714, num1715, 31, 0f, 0f, 100, newColor, 1.5f);
36167 Dust dust58 = Main.dust[num119];
36168 Dust dust87 = dust58;
36169 dust87.velocity *= 1.4f;
36170 Main.dust[num119].position = ((float)Main.rand.NextDouble() * ((float)Math.PI * 2f)).ToRotationVector2() * ((float)Main.rand.NextDouble() * 96f) + base.Center;
36171 }
36172 for (int num120 = 0; num120 < 40; num120++)
36173 {
36174 Vector2 val69 = position;
36175 int num1716 = width;
36176 int num1717 = height;
36177 newColor = default(Color);
36178 int num121 = Dust.NewDust(val69, num1716, num1717, 226, 0f, 0f, 100, newColor, 0.5f);
36179 Main.dust[num121].noGravity = true;
36180 Dust dust59 = Main.dust[num121];
36181 Dust dust87 = dust59;
36182 dust87.velocity *= 2f;
36183 Main.dust[num121].position = ((float)Main.rand.NextDouble() * ((float)Math.PI * 2f)).ToRotationVector2() * ((float)Main.rand.NextDouble() * 96f) + base.Center;
36184 Main.dust[num121].velocity = Main.dust[num121].velocity / 2f + Vector2.Normalize(Main.dust[num121].position - base.Center);
36185 if (Main.rand.Next(2) == 0)
36186 {
36187 Vector2 val70 = position;
36188 int num1718 = width;
36189 int num1719 = height;
36190 newColor = default(Color);
36191 num121 = Dust.NewDust(val70, num1718, num1719, 226, 0f, 0f, 100, newColor, 0.9f);
36192 Main.dust[num121].noGravity = true;
36193 dust59 = Main.dust[num121];
36194 dust87 = dust59;
36195 dust87.velocity *= 1.2f;
36196 Main.dust[num121].position = ((float)Main.rand.NextDouble() * ((float)Math.PI * 2f)).ToRotationVector2() * ((float)Main.rand.NextDouble() * 96f) + base.Center;
36197 Main.dust[num121].velocity = Main.dust[num121].velocity / 2f + Vector2.Normalize(Main.dust[num121].position - base.Center);
36198 }
36199 if (Main.rand.Next(4) == 0)
36200 {
36201 Vector2 val71 = position;
36202 int num1720 = width;
36203 int num1721 = height;
36204 newColor = default(Color);
36205 num121 = Dust.NewDust(val71, num1720, num1721, 226, 0f, 0f, 100, newColor, 0.7f);
36206 dust59 = Main.dust[num121];
36207 dust87 = dust59;
36208 dust87.velocity *= 1.2f;
36209 Main.dust[num121].position = ((float)Main.rand.NextDouble() * ((float)Math.PI * 2f)).ToRotationVector2() * ((float)Main.rand.NextDouble() * 96f) + base.Center;
36210 Main.dust[num121].velocity = Main.dust[num121].velocity / 2f + Vector2.Normalize(Main.dust[num121].position - base.Center);
36211 }
36212 }
36213 this.ai[1]++;
36214 if (this.ai[1] >= 3f)
36215 {
36217 life = 0;
36218 HitEffect();
36219 active = false;
36220 }
36221 }
36222 else if (aiStyle == 75)
36223 {
36224 int num122 = -1;
36225 Vector2 vector51 = Vector2.Zero;
36226 int num123 = 0;
36227 if (type == 390)
36228 {
36229 if (localAI[0] == 0f && Main.netMode != 1)
36230 {
36231 localAI[0] = 1f;
36232 int num124 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)base.Center.X, (int)base.Center.Y, 391, whoAmI);
36233 this.ai[0] = num124;
36234 netUpdate = true;
36235 }
36236 int num126 = (int)this.ai[0];
36237 if (Main.npc[num126].active && Main.npc[num126].type == 391)
36238 {
36240 num122 = num126;
36241 vector51 = Vector2.UnitY * -14f;
36242 }
36243 }
36244 if (type == 416)
36245 {
36246 if (localAI[0] == 0f && Main.netMode != 1)
36247 {
36248 localAI[0] = 1f;
36249 int num127 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)base.Center.X, (int)base.Center.Y, 415, whoAmI);
36250 this.ai[0] = num127;
36251 netUpdate = true;
36252 }
36253 int num128 = (int)this.ai[0];
36254 if (Main.npc[num128].active && Main.npc[num128].type == 415)
36255 {
36257 num122 = num128;
36258 ((Vector2)(ref vector51))._002Ector((float)(-Main.npc[num128].spriteDirection * 10), -30f);
36259 }
36260 }
36261 else if (type == 392)
36262 {
36263 int num129 = (int)this.ai[0];
36264 if (Main.npc[num129].active && Main.npc[num129].type == 395)
36265 {
36267 num122 = num129;
36268 vector51 = Vector2.UnitY * 2f;
36269 vector51 *= Main.npc[num129].scale;
36270 float num130 = Main.npc[num129].rotation;
36271 Vector2 spinningpoint17 = vector51;
36272 double radians4 = num130;
36273 val29 = default(Vector2);
36274 vector51 = spinningpoint17.RotatedBy(radians4, val29);
36275 rotation = num130;
36276 if (Main.netMode != 1)
36277 {
36278 bool flag72 = true;
36279 if (Main.npc[num129].ai[0] >= 1f || Main.npc[num129].ai[0] < 0f)
36280 {
36281 flag72 = false;
36282 }
36283 if (flag72)
36284 {
36285 for (int num131 = 0; num131 < 2; num131++)
36286 {
36287 if (Main.npc[(int)localAI[num131]].active && Main.npc[(int)localAI[num131]].type == 393)
36288 {
36289 flag72 = false;
36290 }
36291 }
36292 for (int num132 = 2; num132 < 4; num132++)
36293 {
36294 if (Main.npc[(int)localAI[num132]].active && Main.npc[(int)localAI[num132]].type == 394)
36295 {
36296 flag72 = false;
36297 }
36298 }
36299 }
36300 if (Main.npc[num129].ai[3] % 200f == 0f && Main.npc[num129].ai[0] != 1f)
36301 {
36302 for (int num133 = 0; num133 < 2; num133++)
36303 {
36304 if (Main.npc[(int)localAI[num133]].active && Main.npc[(int)localAI[num133]].type == 393)
36305 {
36306 Main.npc[(int)localAI[num133]].netUpdate = true;
36307 }
36308 }
36309 for (int num134 = 2; num134 < 4; num134++)
36310 {
36311 if (Main.npc[(int)localAI[num134]].active && Main.npc[(int)localAI[num134]].type == 394)
36312 {
36313 Main.npc[(int)localAI[num134]].netUpdate = true;
36314 }
36315 }
36316 netUpdate = true;
36317 }
36318 if (flag72)
36319 {
36320 if (!Main.expertMode)
36321 {
36322 Main.npc[num129].ai[0] = 3f;
36323 Main.npc[num129].ai[1] = 0f;
36324 Main.npc[num129].ai[2] = 0f;
36325 Main.npc[num129].ai[3] = 0f;
36326 Main.npc[num129].netUpdate = true;
36327 }
36328 else
36329 {
36330 Main.npc[num129].ai[0] = 1f;
36331 Main.npc[num129].ai[1] = 0f;
36332 Main.npc[num129].ai[2] = 0f;
36333 Main.npc[num129].ai[3] = 0f;
36334 Main.npc[num129].netUpdate = true;
36335 }
36336 }
36337 }
36338 }
36339 }
36340 else if (type == 393)
36341 {
36342 int num135 = (int)this.ai[0];
36343 if (Main.npc[num135].active && Main.npc[num135].type == 395)
36344 {
36346 num122 = num135;
36347 vector51 = Vector2.UnitY * 29f + ((this.ai[1] == 1f) ? Vector2.UnitX : (-Vector2.UnitX)) * 60f;
36348 vector51 *= Main.npc[num135].scale;
36349 float num137 = Main.npc[num135].rotation;
36350 Vector2 spinningpoint18 = vector51;
36351 double radians5 = num137;
36352 val29 = default(Vector2);
36353 vector51 = spinningpoint18.RotatedBy(radians5, val29);
36354 rotation = num137;
36355 }
36356 }
36357 else if (type == 394)
36358 {
36359 int num138 = (int)this.ai[0];
36360 if (Main.npc[num138].active && Main.npc[num138].type == 395)
36361 {
36363 num122 = num138;
36364 vector51 = Vector2.UnitY * -13f + ((this.ai[1] == 1f) ? Vector2.UnitX : (-Vector2.UnitX)) * 49f;
36365 vector51 *= Main.npc[num138].scale;
36366 float num139 = Main.npc[num138].rotation;
36367 Vector2 spinningpoint19 = vector51;
36368 double radians6 = num139;
36369 val29 = default(Vector2);
36370 vector51 = spinningpoint19.RotatedBy(radians6, val29);
36371 rotation = num139;
36372 num123 = ((this.ai[1] == 1f) ? 1 : (-1));
36373 }
36374 }
36375 else if (type == 492)
36376 {
36377 int num140 = (int)this.ai[0];
36378 if (Main.npc[num140].active && Main.npc[num140].type == 491)
36379 {
36381 num122 = num140;
36382 ((Vector2)(ref vector51))._002Ector((-122f + 68f * this.ai[1]) * (float)((Main.npc[num140].spriteDirection != 1) ? 1 : (-1)), -6f);
36383 vector51 *= Main.npc[num140].scale;
36384 float num141 = Main.npc[num140].rotation;
36385 Vector2 spinningpoint20 = vector51;
36386 double radians7 = num141;
36387 val29 = default(Vector2);
36388 vector51 = spinningpoint20.RotatedBy(radians7, val29);
36389 rotation = num141;
36390 }
36391 }
36392 if (num122 != -1)
36393 {
36394 NPC nPC18 = Main.npc[num122];
36395 velocity = Vector2.Zero;
36396 position = nPC18.Center;
36397 position.X -= width / 2;
36398 position.Y -= height / 2;
36399 position += vector51;
36400 gfxOffY = nPC18.gfxOffY;
36401 direction = nPC18.direction;
36402 if (num123 == 0)
36403 {
36404 spriteDirection = nPC18.spriteDirection;
36405 }
36406 else
36407 {
36409 }
36410 if (type == 390)
36411 {
36412 timeLeft = nPC18.timeLeft;
36413 velocity = nPC18.velocity;
36414 target = nPC18.target;
36415 if (this.ai[1] < 60f)
36416 {
36417 this.ai[1]++;
36418 }
36419 if (justHit)
36420 {
36421 this.ai[1] = -30f;
36422 }
36423 int num142 = 438;
36424 int num143 = 30;
36425 float num144 = 7f;
36426 if (Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height))
36427 {
36428 Vector2 vector52 = Main.player[target].Center - base.Center;
36429 Vector2 vector53 = Vector2.Normalize(vector52);
36430 float num145 = ((Vector2)(ref vector52)).Length();
36431 float num146 = 700f;
36432 if (type == 214)
36433 {
36434 num146 = 550f;
36435 }
36436 if (type == 215)
36437 {
36438 num146 = 800f;
36439 }
36440 if (num145 < num146)
36441 {
36442 if (this.ai[1] == 60f && Math.Sign(vector52.X) == direction)
36443 {
36444 this.ai[1] = -60f;
36445 Vector2 center2 = Main.player[target].Center;
36446 Vector2 vector54 = base.Center - Vector2.UnitY * 4f;
36447 Vector2 vector55 = center2 - vector54;
36448 vector55.X += Main.rand.Next(-50, 51);
36449 vector55.Y += Main.rand.Next(-50, 51);
36450 vector55.X *= (float)Main.rand.Next(80, 121) * 0.01f;
36451 vector55.Y *= (float)Main.rand.Next(80, 121) * 0.01f;
36452 ((Vector2)(ref vector55)).Normalize();
36453 if (float.IsNaN(vector55.X) || float.IsNaN(vector55.Y))
36454 {
36455 vector55 = -Vector2.UnitY;
36456 }
36457 vector55 *= num144;
36458 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector54.X, vector54.Y, vector55.X, vector55.Y, num142, num143, 0f, Main.myPlayer);
36459 netUpdate = true;
36460 }
36461 else
36462 {
36463 float num148 = this.ai[2];
36464 velocity.X *= 0.5f;
36465 this.ai[2] = 3f;
36466 if (Math.Abs(vector53.Y) > Math.Abs(vector53.X) * 2f)
36467 {
36468 if (vector53.Y > 0f)
36469 {
36470 this.ai[2] = 1f;
36471 }
36472 else
36473 {
36474 this.ai[2] = 5f;
36475 }
36476 }
36477 else if (Math.Abs(vector53.X) > Math.Abs(vector53.Y) * 2f)
36478 {
36479 this.ai[2] = 3f;
36480 }
36481 else if (vector53.Y > 0f)
36482 {
36483 this.ai[2] = 2f;
36484 }
36485 else
36486 {
36487 this.ai[2] = 4f;
36488 }
36489 if (this.ai[2] != num148)
36490 {
36491 netUpdate = true;
36492 }
36493 }
36494 }
36495 }
36496 }
36497 if (type == 492)
36498 {
36499 timeLeft = nPC18.timeLeft;
36500 velocity = nPC18.velocity;
36501 if (this.ai[3] < 240f)
36502 {
36503 this.ai[3]++;
36504 }
36505 if (this.ai[3] == 2f)
36506 {
36508 }
36509 if (Collision.CanHit(position, width, height, Main.player[target].position, Main.player[target].width, Main.player[target].height))
36510 {
36511 Vector2 vector56 = Main.player[target].Center - base.Center;
36512 Vector2 vector58 = Vector2.Normalize(vector56);
36513 if (this.ai[3] >= 240f)
36514 {
36515 this.ai[3] = 0f;
36516 Vector2 center3 = Main.player[target].Center;
36517 Vector2 center4 = base.Center;
36518 Vector2 vector59 = Vector2.Normalize(center3 - center4);
36519 if (float.IsNaN(vector59.X) || float.IsNaN(vector59.Y))
36520 {
36521 vector59 = Vector2.UnitY;
36522 }
36523 vector59 *= 14f;
36524 vector59 += Vector2.UnitY * -5f;
36525 if (Main.netMode != 1)
36526 {
36527 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), center4.X, center4.Y, vector59.X, vector59.Y, 240, 30, 0f, Main.myPlayer);
36528 }
36529 netUpdate = true;
36530 }
36531 else
36532 {
36533 float num149 = this.ai[2];
36534 float[] array3 = new float[8];
36535 for (int num150 = 0; num150 < array3.Length; num150++)
36536 {
36537 int num1722 = num150;
36538 Vector2 center42 = base.Center;
36539 Vector2 unitY = Vector2.UnitY;
36540 double radians8 = (float)num150 * (-(float)Math.PI / 4f);
36541 val29 = default(Vector2);
36542 array3[num1722] = Vector2.Distance(center42 + unitY.RotatedBy(radians8, val29) * 50f, Main.player[target].Center);
36543 }
36544 int num151 = 0;
36545 for (int num152 = 1; num152 < array3.Length; num152++)
36546 {
36547 if (array3[num151] > array3[num152])
36548 {
36549 num151 = num152;
36550 }
36551 }
36552 this.ai[2] = num151 + 1;
36553 if (spriteDirection == 1)
36554 {
36555 this.ai[2] = 9f - this.ai[2];
36556 }
36557 if (this.ai[2] != num149)
36558 {
36559 netUpdate = true;
36560 }
36561 }
36562 }
36563 else
36564 {
36565 if (this.ai[2] != 0f)
36566 {
36567 netUpdate = true;
36568 }
36569 this.ai[2] = 0f;
36570 }
36571 }
36572 if (type == 394)
36573 {
36574 timeLeft = nPC18.timeLeft;
36576 this.ai[3] = nPC18.ai[3];
36577 float num153 = 440f;
36578 float num154 = 140f;
36579 if (this.ai[3] >= num153 && this.ai[3] < num153 + num154)
36580 {
36581 float num155 = this.ai[3] - num153;
36582 if (num155 % 20f == 0f)
36583 {
36584 if (Main.netMode != 1)
36585 {
36586 Vector2 spinningpoint6 = (float)num123 * Vector2.UnitX;
36588 double radians9 = (Main.rand.NextDouble() - 0.5) * 0.7853981852531433;
36589 val29 = default(Vector2);
36591 spinningpoint6 *= 8f;
36592 Vector2 vector60 = (float)num123 * Vector2.UnitX * 36f + base.Center + Vector2.UnitY * 8f;
36593 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector60.X, vector60.Y, spinningpoint6.X, spinningpoint6.Y, 448, attackDamage_ForProjectiles12, 0f, Main.myPlayer, 0f, 20f);
36594 }
36596 }
36597 }
36598 }
36599 if (type == 393)
36600 {
36601 timeLeft = nPC18.timeLeft;
36603 this.ai[3] = nPC18.ai[3];
36604 float num156 = 280f;
36605 float num157 = 140f;
36606 bool flag73 = this.ai[3] >= num156 && this.ai[3] < num156 + num157;
36607 if (!flag73)
36608 {
36610 Player player9 = Main.player[target];
36611 Vector2 v6 = player9.Center - base.Center;
36612 if (v6.Y < 0f)
36613 {
36614 v6.Y = 0f;
36615 }
36616 ((Vector2)(ref v6)).Normalize();
36617 if (float.IsNaN(v6.X) || float.IsNaN(v6.Y))
36618 {
36619 v6 = Vector2.UnitY;
36620 }
36621 this.ai[2] = v6.ToRotation();
36622 }
36623 if (flag73)
36624 {
36625 float num159 = this.ai[3] - num156;
36626 if (num159 % 6f == 0f)
36627 {
36628 if (Main.netMode != 1)
36629 {
36630 Vector2 spinningpoint7 = this.ai[2].ToRotationVector2();
36632 double radians10 = (Main.rand.NextDouble() - 0.5) * 0.7853981852531433 / 3.0;
36633 val29 = default(Vector2);
36635 spinningpoint7 *= 16f;
36636 Vector2 vector61 = base.Center + spinningpoint7 * 1f;
36637 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector61.X, vector61.Y, spinningpoint7.X, spinningpoint7.Y, 449, attackDamage_ForProjectiles2, 0f, Main.myPlayer);
36638 }
36640 }
36641 }
36642 }
36643 if (type != 392)
36644 {
36645 return;
36646 }
36647 timeLeft = nPC18.timeLeft;
36649 this.ai[3] = nPC18.ai[3];
36650 float num160 = 20f;
36651 float num161 = 240f;
36652 if (this.ai[3] >= num160 && this.ai[3] < num160 + num161 && nPC18.ai[0] == 0f)
36653 {
36654 float num162 = this.ai[3] - num160;
36655 if (num162 == 0f)
36656 {
36657 if (Main.netMode != 1)
36658 {
36659 Vector2 center5 = base.Center;
36660 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), center5.X, center5.Y, 0f, 0f, 447, attackDamage_ForProjectiles3, 0f, Main.myPlayer, whoAmI + 1);
36661 }
36663 }
36664 }
36665 bool flag74 = false;
36666 int maxValue4 = 1000;
36667 int maxValue5 = 1000;
36668 int num163 = 450;
36670 if (nPC18.ai[0] == 2f)
36671 {
36672 flag74 = true;
36673 maxValue5 = 120;
36674 maxValue4 = 120;
36675 }
36676 if (!flag74)
36677 {
36678 num160 = 280f;
36679 num161 = 120f;
36680 flag74 = flag74 || (this.ai[3] >= num160 && this.ai[3] < num160 + num161);
36681 if (flag74)
36682 {
36683 maxValue5 = 90;
36684 maxValue4 = 60;
36685 }
36686 }
36687 if (!flag74)
36688 {
36689 num160 = 440f;
36690 num161 = 140f;
36691 flag74 = flag74 || (this.ai[3] >= num160 && this.ai[3] < num160 + num161);
36692 if (flag74)
36693 {
36694 maxValue5 = 60;
36695 maxValue4 = 90;
36696 }
36697 }
36698 bool flag75 = true;
36699 bool flag76 = true;
36700 bool flag77 = true;
36701 bool flag78 = true;
36702 if (Main.npc[(int)localAI[0]].active && Main.npc[(int)localAI[0]].type == 393)
36703 {
36704 flag75 = false;
36705 }
36706 if (Main.npc[(int)localAI[1]].active && Main.npc[(int)localAI[1]].type == 393)
36707 {
36708 flag76 = false;
36709 }
36710 if (Main.npc[(int)localAI[2]].active && Main.npc[(int)localAI[2]].type == 394)
36711 {
36712 flag77 = false;
36713 }
36714 if (Main.npc[(int)localAI[3]].active && Main.npc[(int)localAI[3]].type == 394)
36715 {
36716 flag78 = false;
36717 }
36718 if (flag74)
36719 {
36720 bool flag80 = true;
36721 if (flag75 && Main.rand.Next(maxValue4) == 0)
36722 {
36723 if (Main.netMode != 1)
36724 {
36725 Vector2 spinningpoint8 = default(Vector2);
36726 ((Vector2)(ref spinningpoint8))._002Ector(-1f * (float)Main.rand.NextDouble() * 3f, 1f);
36728 double radians11 = (Main.rand.NextDouble() - 0.5) * 0.7853981852531433;
36729 val29 = default(Vector2);
36731 spinningpoint8 *= 3f;
36732 Vector2 vector62 = -1f * Vector2.UnitX * (float)Main.rand.Next(50, 70) + base.Center + Vector2.UnitY * (float)Main.rand.Next(30, 45);
36733 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector62.X, vector62.Y, spinningpoint8.X, spinningpoint8.Y, num163, attackDamage_ForProjectiles4, 0f, Main.myPlayer);
36734 }
36736 }
36737 if (flag76 && Main.rand.Next(maxValue4) == 0)
36738 {
36739 if (Main.netMode != 1)
36740 {
36741 Vector2 spinningpoint9 = default(Vector2);
36742 ((Vector2)(ref spinningpoint9))._002Ector(1f * (float)Main.rand.NextDouble() * 3f, 1f);
36744 double radians12 = (Main.rand.NextDouble() - 0.5) * 0.7853981852531433;
36745 val29 = default(Vector2);
36747 spinningpoint9 *= 3f;
36748 Vector2 vector63 = 1f * Vector2.UnitX * (float)Main.rand.Next(50, 70) + base.Center + Vector2.UnitY * (float)Main.rand.Next(30, 45);
36749 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector63.X, vector63.Y, spinningpoint9.X, spinningpoint9.Y, num163, attackDamage_ForProjectiles4, 0f, Main.myPlayer);
36750 }
36752 }
36753 }
36754 if (flag74)
36755 {
36756 bool flag81 = true;
36757 if (flag77 && Main.rand.Next(maxValue5) == 0)
36758 {
36759 if (Main.netMode != 1)
36760 {
36761 Vector2 spinningpoint10 = default(Vector2);
36762 ((Vector2)(ref spinningpoint10))._002Ector(-1f * (float)Main.rand.NextDouble() * 2f, -1f);
36764 double radians13 = (Main.rand.NextDouble() - 0.5) * 0.7853981852531433;
36765 val29 = default(Vector2);
36767 spinningpoint10 *= 3f;
36768 Vector2 vector64 = -1f * Vector2.UnitX * (float)Main.rand.Next(30, 60) + base.Center + Vector2.UnitY * (float)Main.rand.Next(-30, -10);
36769 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector64.X, vector64.Y, spinningpoint10.X, spinningpoint10.Y, num163, attackDamage_ForProjectiles4, 0f, Main.myPlayer);
36770 }
36772 }
36773 if (flag78 && Main.rand.Next(maxValue5) == 0)
36774 {
36775 if (Main.netMode != 1)
36776 {
36777 Vector2 spinningpoint11 = default(Vector2);
36778 ((Vector2)(ref spinningpoint11))._002Ector(1f * (float)Main.rand.NextDouble() * 2f, -1f);
36780 double radians14 = (Main.rand.NextDouble() - 0.5) * 0.7853981852531433;
36781 val29 = default(Vector2);
36783 spinningpoint11 *= 3f;
36784 Vector2 vector65 = 1f * Vector2.UnitX * (float)Main.rand.Next(30, 60) + base.Center + Vector2.UnitY * (float)Main.rand.Next(-30, -10);
36785 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector65.X, vector65.Y, spinningpoint11.X, spinningpoint11.Y, num163, attackDamage_ForProjectiles4, 0f, Main.myPlayer);
36786 }
36788 }
36789 }
36790 if (flag75 && Main.rand.Next(8) == 0)
36791 {
36792 Vector2 val72 = -1f * Vector2.UnitX * (float)Main.rand.Next(50, 70) + base.Center + Vector2.UnitY * (float)Main.rand.Next(15, 30);
36793 int num1723 = ((Main.rand.Next(4) != 0) ? 31 : 228);
36794 newColor = default(Color);
36795 int num164 = Dust.NewDust(val72, 4, 16, num1723, 0f, 0f, 100, newColor, 1.2f);
36796 Dust obj6 = Main.dust[num164];
36797 Vector2 spinningpoint27 = new Vector2(-1f * (float)Main.rand.NextDouble() * 3f, 1f);
36798 double radians15 = (Main.rand.NextDouble() - 0.5) * 0.7853981852531433;
36799 val29 = default(Vector2);
36800 obj6.velocity = Utils.RotatedBy(spinningpoint27, radians15, val29);
36801 Dust dust50 = Main.dust[num164];
36802 Dust dust87 = dust50;
36803 dust87.velocity *= 0.5f;
36804 Main.dust[num164].velocity.Y = 0f - Math.Abs(Main.dust[num164].velocity.Y);
36805 }
36806 if (flag76 && Main.rand.Next(8) == 0)
36807 {
36808 Vector2 val73 = Vector2.UnitX * (float)Main.rand.Next(50, 70) + base.Center + Vector2.UnitY * (float)Main.rand.Next(15, 30);
36809 int num1724 = ((Main.rand.Next(4) != 0) ? 31 : 228);
36810 newColor = default(Color);
36811 int num165 = Dust.NewDust(val73, 4, 16, num1724, 0f, 0f, 100, newColor, 1.2f);
36812 Dust obj7 = Main.dust[num165];
36813 Vector2 spinningpoint28 = new Vector2((float)Main.rand.NextDouble() * 3f, 1f);
36814 double radians16 = (Main.rand.NextDouble() - 0.5) * 0.7853981852531433;
36815 val29 = default(Vector2);
36816 obj7.velocity = Utils.RotatedBy(spinningpoint28, radians16, val29);
36817 Dust dust51 = Main.dust[num165];
36818 Dust dust87 = dust51;
36819 dust87.velocity *= 0.5f;
36820 Main.dust[num165].velocity.Y = 0f - Math.Abs(Main.dust[num165].velocity.Y);
36821 }
36822 if (flag77 && Main.rand.Next(8) == 0)
36823 {
36824 Vector2 val74 = -1f * Vector2.UnitX * (float)Main.rand.Next(30, 60) + base.Center + Vector2.UnitY * (float)Main.rand.Next(-30, -10);
36825 int num1725 = ((Main.rand.Next(4) != 0) ? 31 : 228);
36826 newColor = default(Color);
36827 int num166 = Dust.NewDust(val74, 4, 16, num1725, 0f, 0f, 100, newColor, 1.2f);
36828 Dust obj8 = Main.dust[num166];
36829 Vector2 spinningpoint29 = new Vector2(-1f * (float)Main.rand.NextDouble() * 2f, 1f);
36830 double radians17 = (Main.rand.NextDouble() - 0.5) * 0.7853981852531433;
36831 val29 = default(Vector2);
36832 obj8.velocity = Utils.RotatedBy(spinningpoint29, radians17, val29);
36833 Dust dust52 = Main.dust[num166];
36834 Dust dust87 = dust52;
36835 dust87.velocity *= 0.5f;
36836 Main.dust[num166].velocity.Y = 0f - Math.Abs(Main.dust[num166].velocity.Y);
36837 }
36838 if (flag78 && Main.rand.Next(8) == 0)
36839 {
36840 Vector2 val75 = Vector2.UnitX * (float)Main.rand.Next(30, 60) + base.Center + Vector2.UnitY * (float)Main.rand.Next(-30, -10);
36841 int num1726 = ((Main.rand.Next(4) != 0) ? 31 : 228);
36842 newColor = default(Color);
36843 int num167 = Dust.NewDust(val75, 4, 16, num1726, 0f, 0f, 100, newColor, 1.2f);
36844 Dust obj9 = Main.dust[num167];
36845 Vector2 spinningpoint30 = new Vector2((float)Main.rand.NextDouble() * 2f, 1f);
36846 double radians18 = (Main.rand.NextDouble() - 0.5) * 0.7853981852531433;
36847 val29 = default(Vector2);
36848 obj9.velocity = Utils.RotatedBy(spinningpoint30, radians18, val29);
36849 Dust dust53 = Main.dust[num167];
36850 Dust dust87 = dust53;
36851 dust87.velocity *= 0.5f;
36852 Main.dust[num167].velocity.Y = 0f - Math.Abs(Main.dust[num167].velocity.Y);
36853 }
36854 }
36855 else if (type == 390)
36856 {
36857 Transform(382);
36858 }
36859 else if (type == 416)
36860 {
36861 Transform(518);
36862 }
36863 else
36864 {
36865 life = 0;
36866 HitEffect();
36867 active = false;
36868 }
36869 }
36870 else if (aiStyle == 76)
36871 {
36872 if (localAI[3] == 0f && Main.netMode != 1 && type == 395)
36873 {
36874 localAI[3] = 1f;
36875 int[] array4 = new int[4];
36876 int num168 = 0;
36877 for (int num170 = 0; num170 < 2; num170++)
36878 {
36879 int num171 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)base.Center.X + num170 * 300 - 150, (int)base.Center.Y, 393, whoAmI);
36880 Main.npc[num171].ai[1] = num170;
36881 Main.npc[num171].netUpdate = true;
36882 array4[num168++] = num171;
36883 }
36884 for (int num172 = 0; num172 < 2; num172++)
36885 {
36886 int num173 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)base.Center.X + num172 * 300 - 150, (int)base.Center.Y, 394, whoAmI);
36887 Main.npc[num173].ai[1] = num172;
36888 Main.npc[num173].netUpdate = true;
36889 array4[num168++] = num173;
36890 }
36891 int num174 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)base.Center.X, (int)base.Center.Y, 392, whoAmI);
36892 Main.npc[num174].ai[0] = whoAmI;
36893 Main.npc[num174].netUpdate = true;
36894 for (int num175 = 0; num175 < 4; num175++)
36895 {
36896 Main.npc[array4[num175]].ai[0] = whoAmI;
36897 }
36898 for (int num176 = 0; num176 < 4; num176++)
36899 {
36900 Main.npc[num174].localAI[num176] = array4[num176];
36901 }
36902 }
36903 if (this.ai[0] == 3f)
36904 {
36905 StrikeNPCNoInteraction(9999, 0f, 0);
36906 return;
36907 }
36908 Vector2 center6 = base.Center;
36909 Player player10 = Main.player[target];
36910 float num177 = 5600f;
36911 if (target < 0 || target == 255 || player10.dead || !player10.active || Vector2.Distance(player10.Center, center6) > num177)
36912 {
36913 TargetClosest();
36914 player10 = Main.player[target];
36915 netUpdate = true;
36916 }
36917 if ((player10.dead || !player10.active || Vector2.Distance(player10.Center, center6) > num177) && this.ai[0] != 1f)
36918 {
36919 if (this.ai[0] == 0f)
36920 {
36921 this.ai[0] = -1f;
36922 }
36923 if (this.ai[0] == 2f)
36924 {
36925 this.ai[0] = -2f;
36926 }
36927 netUpdate = true;
36928 }
36929 if (this.ai[0] == -1f || this.ai[0] == -2f)
36930 {
36931 velocity.Y -= 0.4f;
36932 EncourageDespawn(10);
36933 if (!player10.dead)
36934 {
36935 timeLeft = 300;
36936 if (this.ai[0] == -2f)
36937 {
36938 this.ai[0] = 2f;
36939 }
36940 if (this.ai[0] == 0f)
36941 {
36942 this.ai[0] = 0f;
36943 }
36944 this.ai[1] = 0f;
36945 this.ai[2] = 0f;
36946 this.ai[3] = 0f;
36947 netUpdate = true;
36948 }
36949 }
36950 else if (this.ai[0] == 0f)
36951 {
36952 int num178 = 0;
36953 int num179 = 0;
36954 if (this.ai[3] >= 580f)
36955 {
36956 num178 = 0;
36957 }
36958 else if (this.ai[3] >= 440f)
36959 {
36960 num178 = 5;
36961 }
36962 else if (this.ai[3] >= 420f)
36963 {
36964 num178 = 4;
36965 }
36966 else if (this.ai[3] >= 280f)
36967 {
36968 num178 = 3;
36969 }
36970 else if (this.ai[3] >= 260f)
36971 {
36972 num178 = 2;
36973 }
36974 else if (this.ai[3] >= 20f)
36975 {
36976 num178 = 1;
36977 }
36978 this.ai[3]++;
36979 if (this.ai[3] >= 600f)
36980 {
36981 this.ai[3] = 0f;
36982 }
36983 num179 = num178;
36984 if (this.ai[3] >= 580f)
36985 {
36986 num178 = 0;
36987 }
36988 else if (this.ai[3] >= 440f)
36989 {
36990 num178 = 5;
36991 }
36992 else if (this.ai[3] >= 420f)
36993 {
36994 num178 = 4;
36995 }
36996 else if (this.ai[3] >= 280f)
36997 {
36998 num178 = 3;
36999 }
37000 else if (this.ai[3] >= 260f)
37001 {
37002 num178 = 2;
37003 }
37004 else if (this.ai[3] >= 20f)
37005 {
37006 num178 = 1;
37007 }
37008 if (num178 != num179)
37009 {
37010 if (num178 == 0)
37011 {
37012 this.ai[2] = 0f;
37013 }
37014 if (num178 == 1)
37015 {
37016 this.ai[2] = ((Math.Sign((player10.Center - center6).X) == 1) ? 1 : (-1));
37017 }
37018 if (num178 == 2)
37019 {
37020 this.ai[2] = 0f;
37021 }
37022 netUpdate = true;
37023 }
37024 if (num178 == 0)
37025 {
37026 if (this.ai[2] == 0f)
37027 {
37028 this.ai[2] = -600 * Math.Sign((center6 - player10.Center).X);
37029 }
37030 Vector2 vector66 = player10.Center + new Vector2(this.ai[2], -250f) - center6;
37031 if (((Vector2)(ref vector66)).Length() < 50f)
37032 {
37033 this.ai[3] = 19f;
37034 }
37035 else
37036 {
37037 ((Vector2)(ref vector66)).Normalize();
37038 velocity = Vector2.Lerp(velocity, vector66 * 16f, 0.1f);
37039 }
37040 }
37041 if (num178 == 1)
37042 {
37043 int num181 = (int)base.Center.X / 16;
37044 int num182 = (int)(position.Y + (float)height) / 16;
37045 int num183 = 0;
37046 if (Main.tile[num181, num182].nactive() && Main.tileSolid[Main.tile[num181, num182].type] && !Main.tileSolidTop[Main.tile[num181, num182].type])
37047 {
37048 num183 = 1;
37049 }
37050 else
37051 {
37052 for (; num183 < 150 && num182 + num183 < Main.maxTilesY; num183++)
37053 {
37054 int num184 = num182 + num183;
37055 if (Main.tile[num181, num184].nactive() && Main.tileSolid[Main.tile[num181, num184].type] && !Main.tileSolidTop[Main.tile[num181, num184].type])
37056 {
37057 num183--;
37058 break;
37059 }
37060 }
37061 }
37062 float num185 = num183 * 16;
37063 float num186 = 250f;
37064 if (num185 < num186)
37065 {
37066 float num187 = -4f;
37067 if (0f - num187 > num185)
37068 {
37069 num187 = 0f - num185;
37070 }
37071 velocity.Y = MathHelper.Lerp(velocity.Y, num187, 0.05f);
37072 }
37073 else
37074 {
37075 velocity.Y *= 0.95f;
37076 }
37077 velocity.X = 3.5f * this.ai[2];
37078 }
37079 switch (num178)
37080 {
37081 case 2:
37082 {
37083 if (this.ai[2] == 0f)
37084 {
37085 this.ai[2] = 300 * Math.Sign((center6 - player10.Center).X);
37086 }
37087 Vector2 vector67 = player10.Center + new Vector2(this.ai[2], -170f) - center6;
37088 int num197 = (int)base.Center.X / 16;
37089 int num198 = (int)(position.Y + (float)height) / 16;
37090 int num199 = 0;
37091 if (Main.tile[num197, num198].nactive() && Main.tileSolid[Main.tile[num197, num198].type] && !Main.tileSolidTop[Main.tile[num197, num198].type])
37092 {
37093 num199 = 1;
37094 }
37095 else
37096 {
37097 for (; num199 < 150 && num198 + num199 < Main.maxTilesY; num199++)
37098 {
37099 int num200 = num198 + num199;
37100 if (Main.tile[num197, num200].nactive() && Main.tileSolid[Main.tile[num197, num200].type] && !Main.tileSolidTop[Main.tile[num197, num200].type])
37101 {
37102 num199--;
37103 break;
37104 }
37105 }
37106 }
37107 float num201 = num199 * 16;
37108 float num203 = 170f;
37109 if (num201 < num203)
37110 {
37111 vector67.Y -= num203 - num201;
37112 }
37113 if (((Vector2)(ref vector67)).Length() < 70f)
37114 {
37115 this.ai[3] = 279f;
37116 break;
37117 }
37118 ((Vector2)(ref vector67)).Normalize();
37119 velocity = Vector2.Lerp(velocity, vector67 * 20f, 0.1f);
37120 break;
37121 }
37122 case 3:
37123 {
37124 float num188 = 0.85f;
37125 int num189 = (int)base.Center.X / 16;
37126 int num190 = (int)(position.Y + (float)height) / 16;
37127 int num192 = 0;
37128 if (Main.tile[num189, num190].nactive() && Main.tileSolid[Main.tile[num189, num190].type] && !Main.tileSolidTop[Main.tile[num189, num190].type])
37129 {
37130 num192 = 1;
37131 }
37132 else
37133 {
37134 for (; num192 < 150 && num190 + num192 < Main.maxTilesY; num192++)
37135 {
37136 int num193 = num190 + num192;
37137 if (Main.tile[num189, num193].nactive() && Main.tileSolid[Main.tile[num189, num193].type] && !Main.tileSolidTop[Main.tile[num189, num193].type])
37138 {
37139 num192--;
37140 break;
37141 }
37142 }
37143 }
37144 float num194 = num192 * 16;
37145 float num195 = 170f;
37146 if (num194 < num195)
37147 {
37148 float num196 = -4f;
37149 if (0f - num196 > num194)
37150 {
37151 num196 = 0f - num194;
37152 }
37153 velocity.Y = MathHelper.Lerp(velocity.Y, num196, 0.05f);
37154 }
37155 else
37156 {
37157 velocity.Y *= num188;
37158 }
37159 velocity.X *= num188;
37160 break;
37161 }
37162 }
37163 switch (num178)
37164 {
37165 case 4:
37166 {
37167 Vector2 vector69 = player10.Center + new Vector2(0f, -250f) - center6;
37168 if (((Vector2)(ref vector69)).Length() < 50f)
37169 {
37170 this.ai[3] = 439f;
37171 break;
37172 }
37173 ((Vector2)(ref vector69)).Normalize();
37174 velocity = Vector2.Lerp(velocity, vector69 * 16f, 0.1f);
37175 break;
37176 }
37177 case 5:
37178 velocity *= 0.85f;
37179 break;
37180 }
37181 }
37182 else if (this.ai[0] == 1f)
37183 {
37184 dontTakeDamage = false;
37185 velocity *= 0.96f;
37186 float num204 = 150f;
37187 this.ai[1]++;
37188 if (this.ai[1] >= num204)
37189 {
37190 this.ai[0] = 2f;
37191 this.ai[1] = 0f;
37192 rotation = 0f;
37193 netUpdate = true;
37194 }
37195 else if (this.ai[1] < 40f)
37196 {
37197 Vector2 unitY2 = Vector2.UnitY;
37198 double radians19 = this.ai[1] / 40f * ((float)Math.PI * 2f);
37199 val29 = default(Vector2);
37200 rotation = unitY2.RotatedBy(radians19, val29).Y * 0.2f;
37201 }
37202 else if (this.ai[1] < 80f)
37203 {
37204 Vector2 unitY3 = Vector2.UnitY;
37205 double radians20 = this.ai[1] / 20f * ((float)Math.PI * 2f);
37206 val29 = default(Vector2);
37207 rotation = unitY3.RotatedBy(radians20, val29).Y * 0.3f;
37208 }
37209 else if (this.ai[1] < 120f)
37210 {
37211 Vector2 unitY4 = Vector2.UnitY;
37212 double radians21 = this.ai[1] / 10f * ((float)Math.PI * 2f);
37213 val29 = default(Vector2);
37214 rotation = unitY4.RotatedBy(radians21, val29).Y * 0.4f;
37215 }
37216 else
37217 {
37218 rotation = (this.ai[1] - 120f) / 30f * ((float)Math.PI * 2f);
37219 }
37220 }
37221 else if (this.ai[0] == 2f)
37222 {
37223 int num205 = 80;
37224 float num206 = 3600f;
37225 float num207 = 120f;
37226 float num208 = 60f;
37227 int num209 = 0;
37228 if (this.ai[3] % num207 >= num208)
37229 {
37230 num209 = 1;
37231 }
37232 int num210 = num209;
37233 num209 = 0;
37234 this.ai[3]++;
37235 if (this.ai[3] % num207 >= num208)
37236 {
37237 num209 = 1;
37238 }
37239 if (num209 != num210)
37240 {
37241 if (num209 == 1)
37242 {
37243 this.ai[2] = ((Math.Sign((player10.Center - center6).X) == 1) ? 1 : (-1));
37244 if (Main.netMode != 1)
37245 {
37246 Vector2 center7 = base.Center;
37247 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), center7.X, center7.Y, 0f, 0f, 447, num205, 0f, Main.myPlayer, whoAmI + 1);
37248 }
37250 }
37251 netUpdate = true;
37252 }
37253 if (this.ai[3] >= num206)
37254 {
37255 this.ai[0] = 2f;
37256 this.ai[1] = 0f;
37257 this.ai[2] = 0f;
37258 this.ai[3] = 0f;
37259 netUpdate = true;
37260 }
37261 else if (num209 == 0)
37262 {
37263 Vector2 vector70 = player10.Center + new Vector2(this.ai[2] * 350f, -250f) - center6;
37264 ((Vector2)(ref vector70)).Normalize();
37265 velocity = Vector2.Lerp(velocity, vector70 * 16f, 0.1f);
37266 }
37267 else
37268 {
37269 int num211 = (int)base.Center.X / 16;
37270 int num212 = (int)(position.Y + (float)height) / 16;
37271 int num214 = 0;
37272 if (Main.tile[num211, num212].nactive() && Main.tileSolid[Main.tile[num211, num212].type] && !Main.tileSolidTop[Main.tile[num211, num212].type])
37273 {
37274 num214 = 1;
37275 }
37276 else
37277 {
37278 for (; num214 < 150 && num212 + num214 < Main.maxTilesY; num214++)
37279 {
37280 int num215 = num212 + num214;
37281 if (Main.tile[num211, num215].nactive() && Main.tileSolid[Main.tile[num211, num215].type] && !Main.tileSolidTop[Main.tile[num211, num215].type])
37282 {
37283 num214--;
37284 break;
37285 }
37286 }
37287 }
37288 float num216 = num214 * 16;
37289 float num217 = 250f;
37290 if (num216 < num217)
37291 {
37292 float num218 = -4f;
37293 if (0f - num218 > num216)
37294 {
37295 num218 = 0f - num216;
37296 }
37297 velocity.Y = MathHelper.Lerp(velocity.Y, num218, 0.05f);
37298 }
37299 else
37300 {
37301 velocity.Y *= 0.95f;
37302 }
37303 velocity.X = 8f * this.ai[2];
37304 }
37305 rotation = 0f;
37306 }
37307 bool flag82 = false;
37308 if (position.Y < -100f)
37309 {
37310 flag82 = true;
37311 }
37312 if (position.X < -100f)
37313 {
37314 flag82 = true;
37315 }
37316 if (position.Y > (float)(Main.maxTilesY * 16 + 100))
37317 {
37318 flag82 = true;
37319 }
37320 if (position.X > (float)(Main.maxTilesX * 16 + 100))
37321 {
37322 flag82 = true;
37323 }
37324 if (flag82)
37325 {
37326 position = Vector2.Clamp(position, new Vector2(-100f), new Vector2(100f) + new Vector2((float)Main.maxTilesX, (float)Main.maxTilesY) * 16f);
37327 active = false;
37328 netUpdate = true;
37329 }
37330 }
37331 else if (aiStyle == 77)
37332 {
37333 if (this.ai[0] != -1f && this.ai[0] != 2f && Main.rand.Next(200) == 0)
37334 {
37335 SoundEngine.PlaySound(29, (int)base.Center.X, (int)base.Center.Y, Main.rand.Next(93, 100));
37336 }
37337 if (localAI[3] == 0f)
37338 {
37339 netUpdate = true;
37340 localAI[3] = 1f;
37341 this.ai[0] = -1f;
37342 }
37343 if (this.ai[0] == -2f)
37344 {
37345 dontTakeDamage = true;
37346 this.ai[1]++;
37347 if (this.ai[1] == 30f)
37348 {
37349 SoundEngine.PlaySound(29, (int)base.Center.X, (int)base.Center.Y, 92);
37350 }
37351 if (this.ai[1] < 60f)
37352 {
37353 MoonlordDeathDrama.RequestLight(this.ai[1] / 30f, base.Center);
37354 }
37355 if (this.ai[1] == 60f)
37356 {
37357 this.ai[1] = 0f;
37358 this.ai[0] = 0f;
37359 if (Main.netMode != 1 && type == 398)
37360 {
37361 this.ai[2] = Main.rand.Next(3);
37362 this.ai[2] = 0f;
37363 netUpdate = true;
37364 }
37365 }
37366 }
37367 if (this.ai[0] == -1f)
37368 {
37369 dontTakeDamage = true;
37370 this.ai[1]++;
37371 if (this.ai[1] == 30f)
37372 {
37373 SoundEngine.PlaySound(29, (int)base.Center.X, (int)base.Center.Y, 92);
37374 }
37375 if (this.ai[1] < 60f)
37376 {
37377 MoonlordDeathDrama.RequestLight(this.ai[1] / 30f, base.Center);
37378 }
37379 if (this.ai[1] == 60f)
37380 {
37381 this.ai[1] = 0f;
37382 this.ai[0] = 0f;
37383 if (Main.netMode != 1 && type == 398)
37384 {
37385 this.ai[2] = Main.rand.Next(3);
37386 this.ai[2] = 0f;
37387 netUpdate = true;
37388 int[] array5 = new int[3];
37389 int num219 = 0;
37390 for (int num220 = 0; num220 < 2; num220++)
37391 {
37392 int num221 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)base.Center.X + num220 * 800 - 400, (int)base.Center.Y - 100, 397, whoAmI);
37393 Main.npc[num221].ai[2] = num220;
37394 Main.npc[num221].netUpdate = true;
37395 array5[num219++] = num221;
37396 }
37397 int num222 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)base.Center.X, (int)base.Center.Y - 400, 396, whoAmI);
37398 Main.npc[num222].netUpdate = true;
37399 array5[num219++] = num222;
37400 for (int num223 = 0; num223 < 3; num223++)
37401 {
37402 Main.npc[array5[num223]].ai[3] = whoAmI;
37403 }
37404 for (int num226 = 0; num226 < 3; num226++)
37405 {
37407 }
37408 }
37409 }
37410 }
37411 if (this.ai[0] == 0f)
37412 {
37413 dontTakeDamage = true;
37415 Vector2 vector71 = Main.player[target].Center - base.Center + new Vector2(0f, 130f);
37416 if (((Vector2)(ref vector71)).Length() > 20f)
37417 {
37418 Vector2 desiredVelocity = Vector2.Normalize(vector71 - velocity) * 8f;
37419 Vector2 value7 = velocity;
37421 velocity = Vector2.Lerp(velocity, value7, 0.5f);
37422 }
37423 if (Main.netMode != 1)
37424 {
37425 bool flag83 = false;
37426 if (localAI[0] < 0f || localAI[1] < 0f || localAI[2] < 0f)
37427 {
37428 flag83 = true;
37429 }
37430 else if (!Main.npc[(int)localAI[0]].active || Main.npc[(int)localAI[0]].type != 397)
37431 {
37432 flag83 = true;
37433 }
37434 else if (!Main.npc[(int)localAI[1]].active || Main.npc[(int)localAI[1]].type != 397)
37435 {
37436 flag83 = true;
37437 }
37438 else if (!Main.npc[(int)localAI[2]].active || Main.npc[(int)localAI[2]].type != 396)
37439 {
37440 flag83 = true;
37441 }
37442 if (flag83)
37443 {
37444 life = 0;
37445 HitEffect();
37446 active = false;
37447 }
37448 bool flag84 = true;
37449 if (Main.npc[(int)localAI[0]].ai[0] != -2f)
37450 {
37451 flag84 = false;
37452 }
37453 if (Main.npc[(int)localAI[1]].ai[0] != -2f)
37454 {
37455 flag84 = false;
37456 }
37457 if (Main.npc[(int)localAI[2]].ai[0] != -2f)
37458 {
37459 flag84 = false;
37460 }
37461 if (flag84)
37462 {
37463 this.ai[0] = 1f;
37464 dontTakeDamage = false;
37465 netUpdate = true;
37466 }
37467 }
37468 }
37469 else if (this.ai[0] == 1f)
37470 {
37471 dontTakeDamage = false;
37473 Vector2 vector72 = Main.player[target].Center - base.Center + new Vector2(0f, 130f);
37474 if (((Vector2)(ref vector72)).Length() > 20f)
37475 {
37476 Vector2 desiredVelocity2 = Vector2.Normalize(vector72 - velocity) * 8f;
37477 Vector2 value8 = velocity;
37479 velocity = Vector2.Lerp(velocity, value8, 0.5f);
37480 }
37481 }
37482 else if (this.ai[0] == 2f)
37483 {
37484 dontTakeDamage = true;
37485 ((Vector2)(ref val29))._002Ector((float)direction, -0.5f);
37486 velocity = Vector2.Lerp(velocity, val29, 0.98f);
37487 this.ai[1]++;
37488 if (this.ai[1] < 60f)
37489 {
37490 MoonlordDeathDrama.RequestLight(this.ai[1] / 60f, base.Center);
37491 }
37492 if (this.ai[1] == 60f)
37493 {
37494 for (int num227 = 0; num227 < 1000; num227++)
37495 {
37496 Projectile projectile = Main.projectile[num227];
37497 if (projectile.active && (projectile.type == 456 || projectile.type == 462 || projectile.type == 455 || projectile.type == 452 || projectile.type == 454))
37498 {
37499 projectile.Kill();
37500 }
37501 }
37502 for (int num228 = 0; num228 < 200; num228++)
37503 {
37504 NPC nPC19 = Main.npc[num228];
37505 if (nPC19.active && nPC19.type == 400)
37506 {
37507 nPC19.HitEffect(0, 9999.0);
37508 nPC19.active = false;
37509 }
37510 }
37511 }
37512 if (this.ai[1] % 3f == 0f && this.ai[1] < 580f && this.ai[1] > 60f)
37513 {
37514 Vector2 vector73 = Utils.RandomVector2(Main.rand, -1f, 1f);
37515 if (vector73 != Vector2.Zero)
37516 {
37517 ((Vector2)(ref vector73)).Normalize();
37518 }
37519 vector73 *= 20f + Main.rand.NextFloat() * 400f;
37520 bool flag85 = true;
37521 Vector2 vector74 = base.Center + vector73;
37522 Point point14 = vector74.ToTileCoordinates();
37523 if (!WorldGen.InWorld(point14.X, point14.Y))
37524 {
37525 flag85 = false;
37526 }
37527 if (flag85 && WorldGen.SolidTile(point14.X, point14.Y))
37528 {
37529 flag85 = false;
37530 }
37531 float num229 = Main.rand.Next(6, 19);
37532 float num230 = (float)Math.PI * 2f / num229;
37533 float num231 = (float)Math.PI * 2f * Main.rand.NextFloat();
37534 float num232 = 1f + Main.rand.NextFloat() * 2f;
37535 float num233 = 1f + Main.rand.NextFloat();
37536 float fadeIn = 0.4f + Main.rand.NextFloat();
37537 int num234 = Utils.SelectRandom<int>(Main.rand, 31, 229);
37538 if (flag85 && !Main.dedServ)
37539 {
37541 for (float num235 = 0f; num235 < num229 * 2f; num235++)
37542 {
37543 Dust[] dust88 = Main.dust;
37544 newColor = default(Color);
37545 Dust dust83 = dust88[Dust.NewDust(vector74, 0, 0, 229, 0f, 0f, 0, newColor)];
37546 dust83.noGravity = true;
37547 dust83.position = vector74;
37548 Vector2 unitY5 = Vector2.UnitY;
37549 double radians22 = num231 + num230 * num235;
37550 val29 = default(Vector2);
37551 dust83.velocity = unitY5.RotatedBy(radians22, val29) * num232 * (Main.rand.NextFloat() * 1.6f + 1.6f);
37552 dust83.fadeIn = fadeIn;
37553 dust83.scale = num233;
37554 }
37555 }
37556 for (float num237 = 0f; num237 < this.ai[1] / 60f; num237++)
37557 {
37558 Vector2 vector75 = Utils.RandomVector2(Main.rand, -1f, 1f);
37559 if (vector75 != Vector2.Zero)
37560 {
37561 ((Vector2)(ref vector75)).Normalize();
37562 }
37563 vector75 *= 20f + Main.rand.NextFloat() * 800f;
37564 Vector2 vec = base.Center + vector75;
37565 Point point15 = vec.ToTileCoordinates();
37566 bool flag86 = true;
37567 if (!WorldGen.InWorld(point15.X, point15.Y))
37568 {
37569 flag86 = false;
37570 }
37571 if (flag86 && WorldGen.SolidTile(point15.X, point15.Y))
37572 {
37573 flag86 = false;
37574 }
37575 if (flag86)
37576 {
37577 Dust[] dust89 = Main.dust;
37578 newColor = default(Color);
37579 Dust dust84 = dust89[Dust.NewDust(vec, 0, 0, num234, 0f, 0f, 0, newColor)];
37580 dust84.noGravity = true;
37581 dust84.position = vec;
37582 dust84.velocity = -Vector2.UnitY * num232 * (Main.rand.NextFloat() * 0.9f + 1.6f);
37583 dust84.fadeIn = fadeIn;
37584 dust84.scale = num233;
37585 }
37586 }
37587 }
37588 if (this.ai[1] % 15f == 0f && this.ai[1] < 480f && this.ai[1] >= 90f && Main.netMode != 1)
37589 {
37590 Vector2 vector76 = Utils.RandomVector2(Main.rand, -1f, 1f);
37591 if (vector76 != Vector2.Zero)
37592 {
37593 ((Vector2)(ref vector76)).Normalize();
37594 }
37595 vector76 *= 20f + Main.rand.NextFloat() * 400f;
37596 bool flag87 = true;
37597 Vector2 vec2 = base.Center + vector76;
37598 Point point16 = vec2.ToTileCoordinates();
37599 if (!WorldGen.InWorld(point16.X, point16.Y))
37600 {
37601 flag87 = false;
37602 }
37603 if (flag87 && WorldGen.SolidTile(point16.X, point16.Y))
37604 {
37605 flag87 = false;
37606 }
37607 if (flag87)
37608 {
37609 float num238 = (float)(Main.rand.Next(4) < 2).ToDirectionInt() * ((float)Math.PI / 8f + (float)Math.PI / 4f * Main.rand.NextFloat());
37610 Vector2 spinningpoint31 = new Vector2(0f, (0f - Main.rand.NextFloat()) * 0.5f - 0.5f);
37611 double radians23 = num238;
37612 val29 = default(Vector2);
37613 Vector2 vector77 = Utils.RotatedBy(spinningpoint31, radians23, val29) * 6f;
37614 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vec2.X, vec2.Y, vector77.X, vector77.Y, 622, 0, 0f, Main.myPlayer);
37615 }
37616 }
37617 if (this.ai[1] == 1f)
37618 {
37620 }
37621 if (this.ai[1] >= 480f)
37622 {
37623 MoonlordDeathDrama.RequestLight((this.ai[1] - 480f) / 120f, base.Center);
37624 }
37625 if (this.ai[1] >= 600f)
37626 {
37627 life = 0;
37628 HitEffect(0, 1337.0);
37629 checkDead();
37630 return;
37631 }
37632 }
37633 else if (this.ai[0] == 3f)
37634 {
37635 dontTakeDamage = true;
37636 ((Vector2)(ref val29))._002Ector((float)direction, -0.5f);
37637 velocity = Vector2.Lerp(velocity, val29, 0.98f);
37638 this.ai[1]++;
37639 if (this.ai[1] < 60f)
37640 {
37641 MoonlordDeathDrama.RequestLight(this.ai[1] / 40f, base.Center);
37642 }
37643 if (this.ai[1] == 40f)
37644 {
37645 for (int num239 = 0; num239 < 1000; num239++)
37646 {
37647 Projectile projectile5 = Main.projectile[num239];
37648 if (projectile5.active && (projectile5.type == 456 || projectile5.type == 462 || projectile5.type == 455 || projectile5.type == 452 || projectile5.type == 454))
37649 {
37650 projectile5.active = false;
37651 if (Main.netMode != 1)
37652 {
37653 NetMessage.SendData(27, -1, -1, null, num239);
37654 }
37655 }
37656 }
37657 for (int num240 = 0; num240 < 200; num240++)
37658 {
37659 NPC nPC20 = Main.npc[num240];
37660 if (nPC20.active && nPC20.type == 400)
37661 {
37662 nPC20.active = false;
37663 if (Main.netMode != 1)
37664 {
37665 NetMessage.SendData(23, -1, -1, null, nPC20.whoAmI);
37666 }
37667 }
37668 }
37669 for (int num241 = 0; num241 < 600; num241++)
37670 {
37671 Gore gore3 = Main.gore[num241];
37672 if (gore3.active && gore3.type >= 619 && gore3.type <= 622)
37673 {
37674 gore3.active = false;
37675 }
37676 }
37677 }
37678 if (this.ai[1] >= 60f)
37679 {
37680 for (int num242 = 0; num242 < 200; num242++)
37681 {
37682 NPC nPC21 = Main.npc[num242];
37683 if (nPC21.active && (nPC21.type == 400 || nPC21.type == 397 || nPC21.type == 396))
37684 {
37685 nPC21.active = false;
37686 if (Main.netMode != 1)
37687 {
37688 NetMessage.SendData(23, -1, -1, null, nPC21.whoAmI);
37689 }
37690 }
37691 }
37692 active = false;
37693 if (Main.netMode != 1)
37694 {
37695 NetMessage.SendData(23, -1, -1, null, whoAmI);
37696 }
37697 LunarApocalypseIsUp = false;
37698 if (Main.netMode == 2)
37699 {
37700 NetMessage.SendData(7);
37701 }
37702 return;
37703 }
37704 }
37705 bool flag88 = false;
37706 if (this.ai[0] == -2f || this.ai[0] == -1f || this.ai[0] == 2f || this.ai[0] == 3f)
37707 {
37708 flag88 = true;
37709 }
37710 if (Main.player[target].active && !Main.player[target].dead)
37711 {
37712 flag88 = true;
37713 }
37714 if (!flag88)
37715 {
37716 for (int num243 = 0; num243 < 255; num243++)
37717 {
37718 if (Main.player[num243].active && !Main.player[num243].dead)
37719 {
37720 flag88 = true;
37721 break;
37722 }
37723 }
37724 }
37725 if (!flag88)
37726 {
37727 this.ai[0] = 3f;
37728 this.ai[1] = 0f;
37729 netUpdate = true;
37730 }
37731 if (!(this.ai[0] >= 0f) || !(this.ai[0] < 2f) || Main.netMode == 1 || !(Distance(Main.player[target].Center) > 2400f))
37732 {
37733 return;
37734 }
37735 this.ai[0] = -2f;
37736 netUpdate = true;
37737 Vector2 vector78 = Main.player[target].Center - Vector2.UnitY * 150f - base.Center;
37738 position += vector78;
37739 if (Main.npc[(int)localAI[0]].active)
37740 {
37741 NPC nPC13 = Main.npc[(int)localAI[0]];
37742 NPC nPC23 = nPC13;
37743 nPC23.position += vector78;
37744 Main.npc[(int)localAI[0]].netUpdate = true;
37745 }
37746 if (Main.npc[(int)localAI[1]].active)
37747 {
37748 NPC nPC14 = Main.npc[(int)localAI[1]];
37749 NPC nPC23 = nPC14;
37750 nPC23.position += vector78;
37751 Main.npc[(int)localAI[1]].netUpdate = true;
37752 }
37753 if (Main.npc[(int)localAI[2]].active)
37754 {
37755 NPC nPC15 = Main.npc[(int)localAI[2]];
37756 NPC nPC23 = nPC15;
37757 nPC23.position += vector78;
37758 Main.npc[(int)localAI[2]].netUpdate = true;
37759 }
37760 for (int num244 = 0; num244 < 200; num244++)
37761 {
37762 NPC nPC22 = Main.npc[num244];
37763 if (nPC22.active && nPC22.type == 400)
37764 {
37765 NPC nPC16 = nPC22;
37766 NPC nPC23 = nPC16;
37767 nPC23.position += vector78;
37768 nPC22.netUpdate = true;
37769 }
37770 }
37771 }
37772 else if (aiStyle == 78)
37773 {
37775 if (!Main.npc[(int)this.ai[3]].active || Main.npc[(int)this.ai[3]].type != 398)
37776 {
37777 life = 0;
37778 HitEffect();
37779 active = false;
37780 }
37781 bool flag89 = this.ai[2] == 0f;
37782 float num245 = -flag89.ToDirectionInt();
37783 spriteDirection = (int)num245;
37784 if (frameCounter == 19.0 && !dontTakeDamage)
37785 {
37787 }
37788 dontTakeDamage = frameCounter >= 21.0;
37789 Vector2 vector80 = default(Vector2);
37790 ((Vector2)(ref vector80))._002Ector(30f, 66f);
37791 float num246 = 0f;
37792 float num248 = 0f;
37793 bool flag91 = true;
37794 int num249 = 0;
37795 if (this.ai[0] != -2f)
37796 {
37797 float num250 = this.ai[0];
37798 this.ai[1]++;
37799 int num251 = (int)Main.npc[(int)this.ai[3]].ai[2];
37800 int num252 = ((!flag89) ? 1 : 0);
37801 int num253 = 0;
37802 int num254 = 0;
37803 for (; num253 < 5; num253++)
37804 {
37806 if (!(num248 + (float)num254 <= this.ai[1]))
37807 {
37808 break;
37809 }
37810 num254 += (int)num248;
37811 }
37812 if (num253 == 5)
37813 {
37814 num253 = 0;
37815 this.ai[1] = 0f;
37817 num254 = 0;
37818 }
37819 this.ai[0] = MoonLordAttacksArray[num251, num252, 0, num253];
37820 num246 = (int)this.ai[1] - num254;
37821 if (this.ai[0] != num250)
37822 {
37823 netUpdate = true;
37824 }
37825 }
37826 if (this.ai[0] == -2f)
37827 {
37828 damage = 80;
37829 num249 = 0;
37830 dontTakeDamage = true;
37831 this.ai[1]++;
37832 if (this.ai[1] >= 32f)
37833 {
37834 this.ai[1] = 0f;
37835 }
37836 if (this.ai[1] < 0f)
37837 {
37838 this.ai[1] = 0f;
37839 }
37840 Vector2 center8 = Main.npc[(int)this.ai[3]].Center;
37841 Vector2 vector81 = center8 + new Vector2(350f * num245, -100f);
37842 Vector2 vector82 = vector81 - base.Center;
37843 if (((Vector2)(ref vector82)).Length() > 20f)
37844 {
37845 ((Vector2)(ref vector82)).Normalize();
37846 vector82 *= 6f;
37847 Vector2 value9 = velocity;
37848 if (vector82 != Vector2.Zero)
37849 {
37851 }
37852 velocity = Vector2.Lerp(value9, velocity, 0.5f);
37853 }
37854 }
37855 else if (this.ai[0] == 0f)
37856 {
37857 num249 = 3;
37858 localAI[1] -= 0.05f;
37859 if (localAI[1] < 0f)
37860 {
37861 localAI[1] = 0f;
37862 }
37863 Vector2 center9 = Main.npc[(int)this.ai[3]].Center;
37864 Vector2 vector83 = center9 + new Vector2(350f * num245, -100f);
37865 Vector2 vector84 = vector83 - base.Center;
37866 if (((Vector2)(ref vector84)).Length() > 20f)
37867 {
37868 ((Vector2)(ref vector84)).Normalize();
37869 vector84 *= 6f;
37870 Vector2 value10 = velocity;
37871 if (vector84 != Vector2.Zero)
37872 {
37874 }
37875 velocity = Vector2.Lerp(value10, velocity, 0.5f);
37876 }
37877 }
37878 else if (this.ai[0] == 1f)
37879 {
37880 num249 = 0;
37881 int num255 = 7;
37882 int num256 = 4;
37883 if (num246 >= (float)(num255 * num256 * 2))
37884 {
37885 localAI[1] -= 0.07f;
37886 if (localAI[1] < 0f)
37887 {
37888 localAI[1] = 0f;
37889 }
37890 }
37891 else if (num246 >= (float)(num255 * num256))
37892 {
37893 localAI[1] += 0.05f;
37894 if (localAI[1] > 0.75f)
37895 {
37896 localAI[1] = 0.75f;
37897 }
37898 float num257 = (float)Math.PI * 2f * (num246 % (float)(num255 * num256)) / (float)(num255 * num256) - (float)Math.PI / 2f;
37899 localAI[0] = Utils.ToRotation(new Vector2((float)Math.Cos(num257) * vector80.X, (float)Math.Sin(num257) * vector80.Y));
37900 if (num246 % (float)num256 == 0f)
37901 {
37902 Vector2 vector85 = default(Vector2);
37903 ((Vector2)(ref vector85))._002Ector(1f * (0f - num245), 3f);
37904 Vector2 vector86 = Utils.Vector2FromElipse(localAI[0].ToRotationVector2(), vector80 * localAI[1]);
37905 Vector2 vector87 = base.Center + Vector2.Normalize(vector86) * ((Vector2)(ref vector80)).Length() * 0.4f + vector85;
37906 Vector2 vector88 = Vector2.Normalize(vector86) * 8f;
37907 float ai = ((float)Math.PI * 2f * (float)Main.rand.NextDouble() - (float)Math.PI) / 30f + (float)Math.PI / 180f * num245;
37908 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector87.X, vector87.Y, vector88.X, vector88.Y, 452, 30, 0f, Main.myPlayer, 0f, ai);
37909 }
37910 }
37911 else
37912 {
37913 localAI[1] += 0.02f;
37914 if (localAI[1] > 0.75f)
37915 {
37916 localAI[1] = 0.75f;
37917 }
37918 float num259 = (float)Math.PI * 2f * (num246 % (float)(num255 * num256)) / (float)(num255 * num256) - (float)Math.PI / 2f;
37919 localAI[0] = Utils.ToRotation(new Vector2((float)Math.Cos(num259) * vector80.X, (float)Math.Sin(num259) * vector80.Y));
37920 }
37921 }
37922 else if (this.ai[0] == 2f)
37923 {
37924 localAI[1] -= 0.05f;
37925 if (localAI[1] < 0f)
37926 {
37927 localAI[1] = 0f;
37928 }
37929 Vector2 center10 = Main.npc[(int)this.ai[3]].Center;
37930 Vector2 vector89 = new Vector2(220f * num245, -60f) + center10;
37931 vector89 += new Vector2(num245 * 100f, -50f);
37932 Vector2 vector91 = default(Vector2);
37933 ((Vector2)(ref vector91))._002Ector(400f * num245, -60f);
37934 if (num246 < 30f)
37935 {
37936 Vector2 vector92 = vector89 - base.Center;
37937 if (vector92 != Vector2.Zero)
37938 {
37939 Vector2 vector93 = vector92;
37940 ((Vector2)(ref vector93)).Normalize();
37941 velocity = Vector2.SmoothStep(velocity, vector93 * Math.Min(8f, ((Vector2)(ref vector92)).Length()), 0.2f);
37942 }
37943 }
37944 else if (num246 < 210f)
37945 {
37946 num249 = 1;
37947 int num260 = (int)num246 - 30;
37948 if (num260 % 30 == 0 && Main.netMode != 1)
37949 {
37950 Vector2 vector94 = default(Vector2);
37951 ((Vector2)(ref vector94))._002Ector(5f * num245, -8f);
37952 int num261 = num260 / 30;
37953 vector94.X += ((float)num261 - 3.5f) * num245 * 3f;
37954 vector94.Y += ((float)num261 - 4.5f) * 1f;
37955 vector94 *= 1.2f;
37956 int num262 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), base.Center.X, base.Center.Y, vector94.X, vector94.Y, 454, 40, 1f, Main.myPlayer, 0f, whoAmI);
37957 }
37958 Vector2 vector95 = Vector2.SmoothStep(vector89, vector89 + vector91, (num246 - 30f) / 180f) - base.Center;
37959 if (vector95 != Vector2.Zero)
37960 {
37961 Vector2 vector96 = vector95;
37962 ((Vector2)(ref vector96)).Normalize();
37963 velocity = Vector2.Lerp(velocity, vector96 * Math.Min(20f, ((Vector2)(ref vector95)).Length()), 0.5f);
37964 }
37965 }
37966 else if (num246 < 282f)
37967 {
37968 num249 = 0;
37969 velocity *= 0.9f;
37970 }
37971 else if (num246 < 287f)
37972 {
37973 num249 = 1;
37974 velocity *= 0.9f;
37975 }
37976 else if (num246 < 292f)
37977 {
37978 num249 = 2;
37979 velocity *= 0.9f;
37980 }
37981 else if (num246 < 300f)
37982 {
37983 num249 = 3;
37984 if (num246 == 292f && Main.netMode != 1)
37985 {
37986 int num263 = Player.FindClosest(position, width, height);
37987 Vector2 vector97 = Vector2.Normalize(Main.player[num263].Center - (base.Center + Vector2.UnitY * -350f));
37988 if (float.IsNaN(vector97.X) || float.IsNaN(vector97.Y))
37989 {
37990 vector97 = Vector2.UnitY;
37991 }
37992 vector97 *= 12f;
37993 for (int num264 = 0; num264 < 1000; num264++)
37994 {
37995 Projectile projectile6 = Main.projectile[num264];
37996 if (projectile6.active && projectile6.type == 454 && projectile6.ai[1] == (float)whoAmI && projectile6.ai[0] != -1f)
37997 {
37998 projectile6.ai[0] = -1f;
37999 projectile6.velocity = vector97;
38000 projectile6.netUpdate = true;
38001 NetMessage.SendData(27, -1, -1, null, num264);
38002 }
38003 }
38004 }
38005 Vector2 vector98 = Vector2.SmoothStep(vector89, vector89 + vector91, 1f - (num246 - 270f) / 30f) - base.Center;
38006 if (vector98 != Vector2.Zero)
38007 {
38008 Vector2 vector99 = vector98;
38009 ((Vector2)(ref vector99)).Normalize();
38010 velocity = Vector2.Lerp(velocity, vector99 * Math.Min(14f, ((Vector2)(ref vector98)).Length()), 0.1f);
38011 }
38012 }
38013 else
38014 {
38015 num249 = 3;
38016 Vector2 vector100 = vector89 - base.Center;
38017 if (vector100 != Vector2.Zero)
38018 {
38019 Vector2 vector102 = vector100;
38020 ((Vector2)(ref vector102)).Normalize();
38021 velocity = Vector2.SmoothStep(velocity, vector102 * Math.Min(8f, ((Vector2)(ref vector100)).Length()), 0.2f);
38022 }
38023 }
38024 }
38025 else if (this.ai[0] == 3f)
38026 {
38027 if (num246 == 0f)
38028 {
38030 netUpdate = true;
38031 }
38032 Vector2 v7 = Main.player[target].Center + Main.player[target].velocity * 20f - base.Center;
38033 localAI[0] = localAI[0].AngleLerp(v7.ToRotation(), 0.5f);
38034 localAI[1] += 0.05f;
38035 if (localAI[1] > 1f)
38036 {
38037 localAI[1] = 1f;
38038 }
38039 if (num246 == num248 - 35f)
38040 {
38041 SoundEngine.PlaySound(4, (int)position.X, (int)position.Y, 6);
38042 }
38043 if ((num246 == num248 - 14f || num246 == num248 - 7f || num246 == num248) && Main.netMode != 1)
38044 {
38045 Vector2 vector103 = Utils.Vector2FromElipse(localAI[0].ToRotationVector2(), vector80 * localAI[1]);
38046 Vector2 vector104 = Vector2.Normalize(v7) * 8f;
38047 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), base.Center.X + vector103.X, base.Center.Y + vector103.Y, vector104.X, vector104.Y, 462, 30, 0f, Main.myPlayer);
38048 }
38049 }
38050 if (flag91)
38051 {
38052 Vector2 center11 = Main.npc[(int)this.ai[3]].Center;
38053 Vector2 vector105 = new Vector2(220f * num245, -60f) + center11;
38054 Vector2 vector106 = vector105 + new Vector2(num245 * 110f, -150f);
38055 Vector2 max = vector106 + new Vector2(num245 * 370f, 150f);
38056 if (vector106.X > max.X)
38057 {
38058 Utils.Swap(ref vector106.X, ref max.X);
38059 }
38060 if (vector106.Y > max.Y)
38061 {
38062 Utils.Swap(ref vector106.Y, ref max.Y);
38063 }
38064 Vector2 vector107 = Vector2.Clamp(base.Center + velocity, vector106, max);
38065 if (vector107 != base.Center + velocity)
38066 {
38067 base.Center = vector107 - velocity;
38068 }
38069 }
38070 int num265 = num249 * 7;
38071 if ((double)num265 > frameCounter)
38072 {
38073 frameCounter++;
38074 }
38075 if ((double)num265 < frameCounter)
38076 {
38077 frameCounter--;
38078 }
38079 if (frameCounter < 0.0)
38080 {
38081 frameCounter = 0.0;
38082 }
38083 if (frameCounter > 21.0)
38084 {
38085 frameCounter = 21.0;
38086 }
38087 int num266 = 0;
38088 if (flag89)
38089 {
38090 num266 = 0;
38091 }
38092 switch (num266)
38093 {
38094 case 1:
38095 if (this.ai[0] == 0f)
38096 {
38097 if ((this.ai[1] += 1f) >= 20f)
38098 {
38099 this.ai[1] = 0f;
38100 this.ai[0] = 1f;
38101 netUpdate = true;
38102 }
38103 velocity = Vector2.UnitX * 4f;
38104 }
38105 else if (this.ai[0] == 1f)
38106 {
38107 if ((this.ai[1] += 1f) >= 20f)
38108 {
38109 this.ai[1] = 0f;
38110 this.ai[0] = 2f;
38111 netUpdate = true;
38112 }
38113 velocity = Vector2.UnitX * -4f;
38114 }
38115 else if (this.ai[0] == 2f || this.ai[0] == 4f)
38116 {
38117 if ((this.ai[1] += 1f) >= 20f)
38118 {
38119 this.ai[1] = 0f;
38120 this.ai[0]++;
38121 netUpdate = true;
38122 }
38123 velocity = Vector2.UnitY * -4f * (float)(flag89 ? 1 : (-1));
38124 }
38125 else
38126 {
38127 if (this.ai[0] != 3f && this.ai[0] != 5f)
38128 {
38129 break;
38130 }
38131 if ((this.ai[1] += 1f) >= 20f)
38132 {
38133 this.ai[1] = 0f;
38134 this.ai[0]++;
38135 if (this.ai[0] == 6f)
38136 {
38137 this.ai[0] = 0f;
38138 }
38139 netUpdate = true;
38140 }
38141 velocity = Vector2.UnitY * 4f * (float)(flag89 ? 1 : (-1));
38142 }
38143 break;
38144 case 2:
38145 {
38146 Vector2 vector108 = default(Vector2);
38147 ((Vector2)(ref vector108))._002Ector(30f, 66f);
38149 Vector2 v8 = Main.screenPosition + new Vector2((float)Main.mouseX, (float)Main.mouseY) - base.Center;
38150 float num267 = ((Vector2)(ref v8)).Length() / 200f;
38151 if (num267 > 1f)
38152 {
38153 num267 = 1f;
38154 }
38155 num267 = 1f - num267;
38156 num267 *= 2f;
38157 if (num267 > 1f)
38158 {
38159 num267 = 1f;
38160 }
38161 localAI[0] = v8.ToRotation();
38162 localAI[1] = num267;
38163 localAI[1] = 1f;
38164 break;
38165 }
38166 case 3:
38167 {
38168 int num274 = 7;
38169 int num275 = 4;
38170 this.ai[1]++;
38171 if (this.ai[1] >= (float)(num274 * num275 * 10))
38172 {
38173 this.ai[1] = 0f;
38174 break;
38175 }
38176 if (this.ai[1] >= (float)(num274 * num275))
38177 {
38178 localAI[1] -= 0.07f;
38179 if (localAI[1] < 0f)
38180 {
38181 localAI[1] = 0f;
38182 }
38183 break;
38184 }
38185 localAI[1] += 0.05f;
38186 if (localAI[1] > 0.75f)
38187 {
38188 localAI[1] = 0.75f;
38189 }
38190 float num276 = (float)Math.PI * 2f * (this.ai[1] % (float)(num274 * num275)) / (float)(num274 * num275) - (float)Math.PI / 2f;
38191 localAI[0] = Utils.ToRotation(new Vector2((float)Math.Cos(num276) * vector80.X, (float)Math.Sin(num276) * vector80.Y));
38192 if (this.ai[1] % (float)num275 == 0f)
38193 {
38194 Vector2 vector121 = default(Vector2);
38195 ((Vector2)(ref vector121))._002Ector(1f * (0f - num245), 3f);
38196 Vector2 vector122 = Utils.Vector2FromElipse(localAI[0].ToRotationVector2(), vector80 * localAI[1]);
38197 Vector2 vector123 = base.Center + Vector2.Normalize(vector122) * ((Vector2)(ref vector80)).Length() * 0.4f + vector121;
38198 Vector2 vector125 = Vector2.Normalize(vector122) * 8f;
38199 float ai2 = ((float)Math.PI * 2f * (float)Main.rand.NextDouble() - (float)Math.PI) / 30f + (float)Math.PI / 180f * num245;
38200 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector123.X, vector123.Y, vector125.X, vector125.Y, 452, 5, 0f, Main.myPlayer, 0f, ai2);
38201 }
38202 break;
38203 }
38204 case 4:
38205 {
38206 Vector2 center13 = Main.npc[(int)this.ai[3]].Center;
38207 Vector2 vector109 = new Vector2(220f * num245, -60f) + center13;
38208 vector109 += new Vector2(num245 * 100f, -50f);
38209 Vector2 vector110 = default(Vector2);
38210 ((Vector2)(ref vector110))._002Ector(400f * num245, -60f);
38211 this.ai[1]++;
38212 if (this.ai[1] < 30f)
38213 {
38214 Vector2 vector111 = vector109 - base.Center;
38215 if (vector111 != Vector2.Zero)
38216 {
38217 Vector2 vector114 = vector111;
38218 ((Vector2)(ref vector114)).Normalize();
38219 velocity = Vector2.SmoothStep(velocity, vector114 * Math.Min(8f, ((Vector2)(ref vector111)).Length()), 0.2f);
38220 }
38221 }
38222 else if (this.ai[1] < 210f)
38223 {
38224 int num268 = (int)this.ai[1] - 30;
38225 if (num268 % 30 == 0 && Main.netMode != 1)
38226 {
38227 Vector2 vector115 = default(Vector2);
38228 ((Vector2)(ref vector115))._002Ector(5f * num245, -8f);
38229 int num270 = num268 / 30;
38230 vector115.X += ((float)num270 - 3.5f) * num245 * 3f;
38231 vector115.Y += ((float)num270 - 4.5f) * 1f;
38232 vector115 *= 1.2f;
38233 int num271 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), base.Center.X, base.Center.Y, vector115.X, vector115.Y, 454, 1, 1f, Main.myPlayer, 0f, whoAmI);
38234 }
38235 Vector2 vector116 = Vector2.SmoothStep(vector109, vector109 + vector110, (this.ai[1] - 30f) / 180f) - base.Center;
38236 if (vector116 != Vector2.Zero)
38237 {
38238 Vector2 vector117 = vector116;
38239 ((Vector2)(ref vector117)).Normalize();
38240 velocity = Vector2.Lerp(velocity, vector117 * Math.Min(4f, ((Vector2)(ref vector116)).Length()), 0.1f);
38241 }
38242 }
38243 else if (this.ai[1] < 270f)
38244 {
38245 velocity *= 0.9f;
38246 }
38247 else if (this.ai[1] < 300f)
38248 {
38249 if (this.ai[1] == 270f && Main.netMode != 1)
38250 {
38251 int num272 = Player.FindClosest(position, width, height);
38252 Vector2 vector118 = Vector2.Normalize(Main.player[num272].Center - (base.Center + Vector2.UnitY * -350f));
38253 if (float.IsNaN(vector118.X) || float.IsNaN(vector118.Y))
38254 {
38255 vector118 = Vector2.UnitY;
38256 }
38257 vector118 *= 12f;
38258 for (int num273 = 0; num273 < 1000; num273++)
38259 {
38260 Projectile projectile7 = Main.projectile[num273];
38261 if (projectile7.active && projectile7.type == 454 && projectile7.ai[1] == (float)whoAmI && projectile7.ai[0] != -1f)
38262 {
38263 projectile7.ai[0] = -1f;
38264 projectile7.velocity = vector118;
38265 projectile7.netUpdate = true;
38266 }
38267 }
38268 }
38269 Vector2 vector119 = Vector2.SmoothStep(vector109, vector109 + vector110, 1f - (this.ai[1] - 270f) / 30f) - base.Center;
38270 if (vector119 != Vector2.Zero)
38271 {
38272 Vector2 vector120 = vector119;
38273 ((Vector2)(ref vector120)).Normalize();
38274 velocity = Vector2.Lerp(velocity, vector120 * Math.Min(14f, ((Vector2)(ref vector119)).Length()), 0.1f);
38275 }
38276 }
38277 else
38278 {
38279 this.ai[1] = 0f;
38280 }
38281 break;
38282 }
38283 case 5:
38284 dontTakeDamage = true;
38285 this.ai[1]++;
38286 if (this.ai[1] >= 40f)
38287 {
38288 this.ai[1] = 0f;
38289 }
38290 break;
38291 }
38292 }
38293 else if (aiStyle == 79)
38294 {
38295 if (!Main.npc[(int)this.ai[3]].active || Main.npc[(int)this.ai[3]].type != 398)
38296 {
38297 life = 0;
38298 HitEffect();
38299 active = false;
38300 }
38301 if (localAI[3] == 13f && !dontTakeDamage)
38302 {
38304 }
38305 dontTakeDamage = localAI[3] >= 15f;
38306 velocity = Vector2.Zero;
38307 base.Center = Main.npc[(int)this.ai[3]].Center + new Vector2(0f, -400f);
38308 Vector2 vector126 = default(Vector2);
38309 ((Vector2)(ref vector126))._002Ector(27f, 59f);
38310 float num277 = 0f;
38311 float num278 = 0f;
38312 int num279 = 0;
38313 int num281 = 0;
38314 if (this.ai[0] >= 0f)
38315 {
38316 float num282 = this.ai[0];
38317 this.ai[1]++;
38318 int num283 = (int)Main.npc[(int)this.ai[3]].ai[2];
38319 int num284 = 2;
38320 int num285 = 0;
38321 int num286 = 0;
38322 for (; num285 < 5; num285++)
38323 {
38325 if (!(num278 + (float)num286 <= this.ai[1]))
38326 {
38327 break;
38328 }
38329 num286 += (int)num278;
38330 }
38331 if (num285 == 5)
38332 {
38333 num285 = 0;
38334 this.ai[1] = 0f;
38336 num286 = 0;
38337 }
38338 this.ai[0] = MoonLordAttacksArray[num283, num284, 0, num285];
38339 num277 = (int)this.ai[1] - num286;
38340 if (this.ai[0] != num282)
38341 {
38342 netUpdate = true;
38343 }
38344 }
38345 if (this.ai[0] == -3f)
38346 {
38347 damage = 0;
38348 dontTakeDamage = true;
38349 rotation = MathHelper.Lerp(rotation, (float)Math.PI / 12f, 0.07f);
38350 this.ai[1]++;
38351 if (this.ai[1] >= 32f)
38352 {
38353 this.ai[1] = 0f;
38354 }
38355 if (this.ai[1] < 0f)
38356 {
38357 this.ai[1] = 0f;
38358 }
38359 if (localAI[2] < 14f)
38360 {
38361 localAI[2]++;
38362 }
38363 }
38364 else if (this.ai[0] == -2f)
38365 {
38366 if (Main.npc[(int)this.ai[3]].ai[0] == 2f)
38367 {
38368 this.ai[0] = -3f;
38369 return;
38370 }
38371 damage = 80;
38372 dontTakeDamage = true;
38373 this.ai[1]++;
38374 if (this.ai[1] >= 32f)
38375 {
38376 this.ai[1] = 0f;
38377 }
38378 if (this.ai[1] < 0f)
38379 {
38380 this.ai[1] = 0f;
38381 }
38382 this.ai[2]++;
38383 if (this.ai[2] >= 555f)
38384 {
38385 this.ai[2] = 0f;
38386 }
38387 if (this.ai[2] >= 120f)
38388 {
38389 num277 = this.ai[2] - 120f;
38390 num278 = 555f;
38391 num279 = 2;
38392 Vector2 vector127 = default(Vector2);
38393 ((Vector2)(ref vector127))._002Ector(0f, 216f);
38394 if (num277 == 0f && Main.netMode != 1)
38395 {
38396 Vector2 vector128 = base.Center + vector127;
38397 for (int num287 = 0; num287 < 255; num287++)
38398 {
38399 Player player11 = Main.player[num287];
38400 if (player11.active && !player11.dead && Vector2.Distance(player11.Center, vector128) <= 3000f)
38401 {
38402 Vector2 vector129 = Main.player[target].Center - vector128;
38403 if (vector129 != Vector2.Zero)
38404 {
38405 ((Vector2)(ref vector129)).Normalize();
38406 }
38407 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector128.X, vector128.Y, vector129.X, vector129.Y, 456, 0, 0f, Main.myPlayer, whoAmI + 1, num287);
38408 }
38409 }
38410 }
38411 if ((num277 == 120f || num277 == 180f || num277 == 240f) && Main.netMode != 1)
38412 {
38413 for (int num288 = 0; num288 < 1000; num288++)
38414 {
38415 Projectile projectile8 = Main.projectile[num288];
38416 if (projectile8.active && projectile8.type == 456 && Main.player[(int)projectile8.ai[1]].FindBuffIndex(145) != -1)
38417 {
38418 Vector2 center14 = Main.player[target].Center;
38419 int num289 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)center14.X, (int)center14.Y, 401);
38420 Main.npc[num289].netUpdate = true;
38421 Main.npc[num289].ai[0] = whoAmI + 1;
38422 Main.npc[num289].ai[1] = num288;
38423 }
38424 }
38425 }
38426 }
38427 }
38428 else if (this.ai[0] == 0f)
38429 {
38430 num281 = 3;
38432 Vector2 v9 = Main.player[target].Center - base.Center - new Vector2(0f, -22f);
38433 float num290 = ((Vector2)(ref v9)).Length() / 500f;
38434 if (num290 > 1f)
38435 {
38436 num290 = 1f;
38437 }
38438 num290 = 1f - num290;
38439 num290 *= 2f;
38440 if (num290 > 1f)
38441 {
38442 num290 = 1f;
38443 }
38444 localAI[0] = v9.ToRotation();
38445 localAI[1] = num290;
38446 localAI[2] = MathHelper.Lerp(localAI[2], 1f, 0.2f);
38447 }
38448 if (this.ai[0] == 1f)
38449 {
38450 if (num277 < 180f)
38451 {
38452 localAI[1] -= 0.05f;
38453 if (localAI[1] < 0f)
38454 {
38455 localAI[1] = 0f;
38456 }
38457 if (num277 >= 60f)
38458 {
38459 Vector2 center15 = base.Center;
38460 int num292 = 0;
38461 if (num277 >= 120f)
38462 {
38463 num292 = 1;
38464 }
38465 for (int num293 = 0; num293 < 1 + num292; num293++)
38466 {
38467 int num294 = 229;
38468 float num295 = 0.8f;
38469 if (num293 % 2 == 1)
38470 {
38471 num294 = 229;
38472 num295 = 1.65f;
38473 }
38474 Vector2 vector130 = center15 + ((float)Main.rand.NextDouble() * ((float)Math.PI * 2f)).ToRotationVector2() * vector126 / 2f;
38475 Vector2 val76 = vector130 - Vector2.One * 8f;
38476 int num1727 = num294;
38477 float speedX26 = velocity.X / 2f;
38478 float speedY25 = velocity.Y / 2f;
38479 newColor = default(Color);
38480 int num296 = Dust.NewDust(val76, 16, 16, num1727, speedX26, speedY25, 0, newColor);
38481 Main.dust[num296].velocity = Vector2.Normalize(center15 - vector130) * 3.5f * (10f - (float)num292 * 2f) / 10f;
38482 Main.dust[num296].noGravity = true;
38483 Main.dust[num296].scale = num295;
38484 Main.dust[num296].customData = this;
38485 }
38486 }
38487 }
38488 else if (num277 < num278 - 15f)
38489 {
38490 if (num277 == 180f && Main.netMode != 1)
38491 {
38493 Vector2 spinningpoint12 = Main.player[target].Center - base.Center;
38494 ((Vector2)(ref spinningpoint12)).Normalize();
38495 float num297 = -1f;
38496 if (spinningpoint12.X < 0f)
38497 {
38498 num297 = 1f;
38499 }
38501 double radians24 = (0f - num297) * ((float)Math.PI * 2f) / 6f;
38502 val29 = default(Vector2);
38504 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), base.Center.X, base.Center.Y, spinningpoint12.X, spinningpoint12.Y, 455, 75, 0f, Main.myPlayer, num297 * ((float)Math.PI * 2f) / 540f, whoAmI);
38505 this.ai[2] = (spinningpoint12.ToRotation() + (float)Math.PI * 3f) * num297;
38506 netUpdate = true;
38507 }
38508 localAI[1] += 0.05f;
38509 if (localAI[1] > 1f)
38510 {
38511 localAI[1] = 1f;
38512 }
38513 float num298 = (this.ai[2] >= 0f).ToDirectionInt();
38514 float num299 = this.ai[2];
38515 if (num299 < 0f)
38516 {
38517 num299 *= -1f;
38518 }
38519 num299 += (float)Math.PI * -3f;
38520 num299 += num298 * ((float)Math.PI * 2f) / 540f;
38521 localAI[0] = num299;
38522 this.ai[2] = (num299 + (float)Math.PI * 3f) * num298;
38523 }
38524 else
38525 {
38526 localAI[1] -= 0.07f;
38527 if (localAI[1] < 0f)
38528 {
38529 localAI[1] = 0f;
38530 if (Main.netMode != 1 && Main.getGoodWorld && Main.remixWorld)
38531 {
38532 for (int num300 = 0; num300 < 30; num300++)
38533 {
38534 if (!WorldGen.SolidTile((int)(base.Center.X / 16f), (int)(base.Center.Y / 16f)))
38535 {
38536 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), base.Center.X, base.Center.Y, (float)Main.rand.Next(-1599, 1600) * 0.01f, (float)Main.rand.Next(-1599, 1) * 0.01f, 1021, 70, 10f);
38537 }
38538 }
38539 }
38540 }
38541 num281 = 3;
38542 }
38543 }
38544 else if (this.ai[0] == 2f)
38545 {
38546 num279 = 2;
38547 num281 = 3;
38548 Vector2 vector131 = default(Vector2);
38549 ((Vector2)(ref vector131))._002Ector(0f, 216f);
38550 if (num277 == 0f && Main.netMode != 1)
38551 {
38552 Vector2 vector132 = base.Center + vector131;
38553 for (int num301 = 0; num301 < 255; num301++)
38554 {
38555 Player player2 = Main.player[num301];
38556 if (player2.active && !player2.dead && Vector2.Distance(player2.Center, vector132) <= 3000f)
38557 {
38558 Vector2 vector133 = Main.player[target].Center - vector132;
38559 if (vector133 != Vector2.Zero)
38560 {
38561 ((Vector2)(ref vector133)).Normalize();
38562 }
38563 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector132.X, vector132.Y, vector133.X, vector133.Y, 456, 0, 0f, Main.myPlayer, whoAmI + 1, num301);
38564 }
38565 }
38566 }
38567 if ((num277 == 120f || num277 == 180f || num277 == 240f) && Main.netMode != 1)
38568 {
38569 for (int num303 = 0; num303 < 1000; num303++)
38570 {
38571 Projectile projectile9 = Main.projectile[num303];
38572 if (projectile9.active && projectile9.type == 456 && Main.player[(int)projectile9.ai[1]].FindBuffIndex(145) != -1)
38573 {
38574 Vector2 center16 = Main.player[target].Center;
38575 int num304 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)center16.X, (int)center16.Y, 401);
38576 Main.npc[num304].netUpdate = true;
38577 Main.npc[num304].ai[0] = whoAmI + 1;
38578 Main.npc[num304].ai[1] = num303;
38579 }
38580 }
38581 }
38582 }
38583 else if (this.ai[0] == 3f)
38584 {
38585 if ((double)num277 == 1.0)
38586 {
38588 netUpdate = true;
38589 }
38590 Vector2 v10 = Main.player[target].Center + Main.player[target].velocity * 20f - base.Center;
38591 localAI[0] = localAI[0].AngleLerp(v10.ToRotation(), 0.5f);
38592 localAI[1] += 0.05f;
38593 if (localAI[1] > 1f)
38594 {
38595 localAI[1] = 1f;
38596 }
38597 if (num277 == num278 - 35f)
38598 {
38599 SoundEngine.PlaySound(4, (int)position.X, (int)position.Y, 6);
38600 }
38601 if ((num277 == num278 - 14f || num277 == num278 - 7f || num277 == num278) && Main.netMode != 1)
38602 {
38603 Vector2 vector134 = Utils.Vector2FromElipse(localAI[0].ToRotationVector2(), vector126 * localAI[1]);
38604 Vector2 vector136 = Vector2.Normalize(v10) * 8f;
38605 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), base.Center.X + vector134.X, base.Center.Y + vector134.Y, vector136.X, vector136.Y, 462, 30, 0f, Main.myPlayer);
38606 }
38607 }
38608 int num305 = num279 * 7;
38609 if ((float)num305 > localAI[2])
38610 {
38611 localAI[2]++;
38612 }
38613 if ((float)num305 < localAI[2])
38614 {
38615 localAI[2]--;
38616 }
38617 if (localAI[2] < 0f)
38618 {
38619 localAI[2] = 0f;
38620 }
38621 if (localAI[2] > 14f)
38622 {
38623 localAI[2] = 14f;
38624 }
38625 int num306 = num281 * 5;
38626 if ((float)num306 > localAI[3])
38627 {
38628 localAI[3]++;
38629 }
38630 if ((float)num306 < localAI[3])
38631 {
38632 localAI[3]--;
38633 }
38634 if (localAI[3] < 0f)
38635 {
38636 localAI[2] = 0f;
38637 }
38638 if (localAI[3] > 15f)
38639 {
38640 localAI[2] = 15f;
38641 }
38642 int num307 = 0;
38643 if (num307 == 1)
38644 {
38645 Vector2 vector137 = default(Vector2);
38646 ((Vector2)(ref vector137))._002Ector(27f, 59f);
38648 Vector2 v11 = Main.screenPosition + new Vector2((float)Main.mouseX, (float)Main.mouseY) - base.Center;
38649 float num308 = ((Vector2)(ref v11)).Length() / 200f;
38650 if (num308 > 1f)
38651 {
38652 num308 = 1f;
38653 }
38654 num308 = 1f - num308;
38655 num308 *= 2f;
38656 if (num308 > 1f)
38657 {
38658 num308 = 1f;
38659 }
38660 localAI[0] = v11.ToRotation();
38661 localAI[1] = num308;
38662 localAI[1] = 1f;
38663 }
38664 if (num307 == 2)
38665 {
38666 Vector2 vector138 = default(Vector2);
38667 ((Vector2)(ref vector138))._002Ector(27f, 59f);
38668 float num309 = (float)Math.PI * 2f * ((float)Main.timeForVisualEffects % 600f) / 600f;
38669 localAI[0] = Utils.ToRotation(new Vector2((float)Math.Cos(num309) * vector138.X, (float)Math.Sin(num309) * vector138.Y));
38670 localAI[1] = 0.75f;
38671 if (this.ai[1] == 0f)
38672 {
38673 Vector2 vector139 = num309.ToRotationVector2();
38674 vector139 = Vector2.One;
38675 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), base.Center.X, base.Center.Y, vector139.X, vector139.Y, 455, 1, 0f, Main.myPlayer, (float)Math.PI / 300f, whoAmI);
38676 }
38677 this.ai[1]++;
38678 if (this.ai[1] >= 600f)
38679 {
38680 this.ai[1] = 0f;
38681 }
38682 }
38683 if (num307 == 3)
38684 {
38685 Vector2 vector140 = default(Vector2);
38686 ((Vector2)(ref vector140))._002Ector(0f, 216f);
38687 if (this.ai[1] == 0f)
38688 {
38690 Vector2 vector141 = Main.player[target].Center - base.Center;
38691 ((Vector2)(ref vector141)).Normalize();
38692 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), base.Center.X + vector140.X, base.Center.Y + vector140.Y, vector141.X, vector141.Y, 456, 0, 0f, Main.myPlayer, whoAmI + 1, target);
38693 }
38694 this.ai[1]++;
38695 if (this.ai[1] >= 600f)
38696 {
38697 this.ai[1] = 0f;
38698 }
38699 }
38700 if (num307 == 4)
38701 {
38702 Vector2 vector142 = default(Vector2);
38703 ((Vector2)(ref vector142))._002Ector(27f, 59f);
38705 Vector2 v12 = Main.player[target].Center + Main.player[target].velocity * 20f - base.Center;
38706 localAI[0] = localAI[0].AngleLerp(v12.ToRotation(), 0.5f);
38707 localAI[1] = 1f;
38708 this.ai[1]++;
38709 if (this.ai[1] == 55f)
38710 {
38711 SoundEngine.PlaySound(4, (int)position.X, (int)position.Y, 6);
38712 }
38713 if (this.ai[1] == 76f || this.ai[1] == 83f || this.ai[1] == 90f)
38714 {
38715 val29 = new Vector2(27f, 59f) * localAI[1];
38716 Vector2 vector143 = Utils.Vector2FromElipse(localAI[0].ToRotationVector2(), val29);
38717 Vector2 vector144 = Vector2.Normalize(v12) * 8f;
38718 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), base.Center.X + vector143.X, base.Center.Y + vector143.Y, vector144.X, vector144.Y, 462, 5, 0f, Main.myPlayer);
38719 }
38720 if (this.ai[1] >= 90f)
38721 {
38722 this.ai[1] = 0f;
38723 }
38724 }
38725 }
38726 else if (aiStyle == 80)
38727 {
38728 if (this.ai[0] == 0f)
38729 {
38730 if (direction == 0)
38731 {
38732 TargetClosest();
38733 netUpdate = true;
38734 }
38735 if (collideX)
38736 {
38738 netUpdate = true;
38739 }
38740 velocity.X = 3f * (float)direction;
38741 Vector2 center17 = base.Center;
38742 Point point2 = center17.ToTileCoordinates();
38743 int num310 = 30;
38744 if (WorldGen.InWorld(point2.X, point2.Y, 30))
38745 {
38746 for (int num311 = 0; num311 < 30; num311++)
38747 {
38748 if (WorldGen.SolidTile(point2.X, point2.Y + num311))
38749 {
38750 num310 = num311;
38751 break;
38752 }
38753 }
38754 }
38755 if (num310 < 15)
38756 {
38757 velocity.Y = Math.Max(velocity.Y - 0.05f, -3.5f);
38758 }
38759 else if (num310 < 20)
38760 {
38761 velocity.Y *= 0.95f;
38762 }
38763 else
38764 {
38765 velocity.Y = Math.Min(velocity.Y + 0.05f, 1.5f);
38766 }
38767 float distanceToPlayer;
38769 if (num312 == -1 || Main.player[num312].dead)
38770 {
38771 return;
38772 }
38773 if (distanceToPlayer < 352f && Main.player[num312].Center.Y > base.Center.Y)
38774 {
38775 this.ai[0] = 1f;
38776 this.ai[1] = 0f;
38777 netUpdate = true;
38778 }
38779 }
38780 else if (this.ai[0] == 1f)
38781 {
38782 this.ai[1]++;
38783 velocity *= 0.95f;
38784 if (this.ai[1] >= 60f)
38785 {
38786 this.ai[1] = 0f;
38787 this.ai[0] = 2f;
38788 int num314 = FindClosestPlayer();
38789 if (num314 != -1)
38790 {
38791 this.ai[3] = ((Main.player[num314].Center.X > base.Center.X) ? (-1f) : 1f);
38792 }
38793 else
38794 {
38795 this.ai[3] = 1f;
38796 }
38797 netUpdate = true;
38798 }
38799 }
38800 else if (this.ai[0] == 2f)
38801 {
38802 noTileCollide = true;
38803 this.ai[1]++;
38804 velocity.Y = Math.Max(velocity.Y - 0.1f, -10f);
38805 velocity.X = Math.Min(velocity.X + this.ai[3] * 0.05f, 4f);
38806 if ((position.Y < (float)(-height) || this.ai[1] >= 180f) && Main.netMode != 1)
38807 {
38808 Main.StartInvasion(4);
38809 active = false;
38810 netUpdate = true;
38811 }
38812 }
38813 newColor = Color.SkyBlue;
38814 Vector3 rgb = ((Color)(ref newColor)).ToVector3();
38815 if (this.ai[0] == 2f)
38816 {
38817 newColor = Color.Red;
38818 rgb = ((Color)(ref newColor)).ToVector3();
38819 }
38820 rgb *= 0.65f;
38821 Lighting.AddLight(base.Center, rgb);
38822 }
38823 else if (aiStyle == 81)
38824 {
38825 if (Main.rand.Next(420) == 0)
38826 {
38827 SoundEngine.PlaySound(29, (int)base.Center.X, (int)base.Center.Y, Main.rand.Next(100, 101));
38828 }
38829 Vector2 vector145 = default(Vector2);
38830 ((Vector2)(ref vector145))._002Ector(30f);
38831 if (!Main.npc[(int)this.ai[3]].active || Main.npc[(int)this.ai[3]].type != 398)
38832 {
38833 life = 0;
38834 HitEffect();
38835 active = false;
38836 }
38837 float num315 = 0f;
38838 float num316 = 0f;
38839 float num317 = this.ai[0];
38840 this.ai[1]++;
38841 int num318 = 0;
38842 int num319 = 0;
38843 for (; num318 < 10; num318++)
38844 {
38846 if (!(num316 + (float)num319 <= this.ai[1]))
38847 {
38848 break;
38849 }
38850 num319 += (int)num316;
38851 }
38852 if (num318 == 10)
38853 {
38854 num318 = 0;
38855 this.ai[1] = 0f;
38857 num319 = 0;
38858 }
38859 this.ai[0] = MoonLordAttacksArray2[0, num318];
38860 num315 = (int)this.ai[1] - num319;
38861 if (this.ai[0] != num317)
38862 {
38863 netUpdate = true;
38864 }
38865 if (this.ai[0] == -1f)
38866 {
38867 this.ai[1]++;
38868 if (this.ai[1] > 180f)
38869 {
38870 this.ai[1] = 0f;
38871 }
38872 float num320 = 1f;
38873 if (this.ai[1] < 60f)
38874 {
38875 num320 = 0.75f;
38876 localAI[0] = 0f;
38877 localAI[1] = (float)Math.Sin(this.ai[1] * ((float)Math.PI * 2f) / 15f) * 0.35f;
38878 if (localAI[1] < 0f)
38879 {
38880 localAI[0] = (float)Math.PI;
38881 }
38882 }
38883 else if (this.ai[1] < 120f)
38884 {
38885 num320 = 1f;
38886 if (localAI[1] < 0.5f)
38887 {
38888 localAI[1] += 0.025f;
38889 }
38890 localAI[0] += (float)Math.PI / 15f;
38891 }
38892 else
38893 {
38894 num320 = 1.15f;
38895 localAI[1] -= 0.05f;
38896 if (localAI[1] < 0f)
38897 {
38898 localAI[1] = 0f;
38899 }
38900 }
38901 localAI[2] = MathHelper.Lerp(localAI[2], num320, 0.3f);
38902 }
38903 if (this.ai[0] == 0f)
38904 {
38906 Vector2 v2 = Main.player[target].Center + Main.player[target].velocity * 20f - base.Center;
38907 localAI[0] = localAI[0].AngleLerp(v2.ToRotation(), 0.5f);
38908 localAI[1] += 0.05f;
38909 if (localAI[1] > 0.7f)
38910 {
38911 localAI[1] = 0.7f;
38912 }
38913 localAI[2] = MathHelper.Lerp(localAI[2], 1f, 0.2f);
38914 float num321 = 24f;
38915 Vector2 center18 = base.Center;
38916 Vector2 center19 = Main.player[target].Center;
38917 Vector2 vector147 = center19 - center18;
38918 Vector2 vector148 = vector147 - Vector2.UnitY * 200f;
38919 vector148 = Vector2.Normalize(vector148) * num321;
38920 int num322 = 30;
38921 velocity.X = (velocity.X * (float)(num322 - 1) + vector148.X) / (float)num322;
38922 velocity.Y = (velocity.Y * (float)(num322 - 1) + vector148.Y) / (float)num322;
38923 float num323 = 0.25f;
38924 for (int num325 = 0; num325 < 200; num325++)
38925 {
38926 if (num325 != whoAmI && Main.npc[num325].active && Main.npc[num325].type == 400 && Vector2.Distance(base.Center, Main.npc[num325].Center) < 150f)
38927 {
38928 if (position.X < Main.npc[num325].position.X)
38929 {
38930 velocity.X -= num323;
38931 }
38932 else
38933 {
38934 velocity.X += num323;
38935 }
38936 if (position.Y < Main.npc[num325].position.Y)
38937 {
38938 velocity.Y -= num323;
38939 }
38940 else
38941 {
38942 velocity.Y += num323;
38943 }
38944 }
38945 }
38946 }
38947 else if (this.ai[0] == 1f)
38948 {
38949 if (num315 == 0f)
38950 {
38952 netUpdate = true;
38953 }
38954 velocity *= 0.95f;
38955 if (((Vector2)(ref velocity)).Length() < 1f)
38956 {
38957 velocity = Vector2.Zero;
38958 }
38959 Vector2 v3 = Main.player[target].Center + Main.player[target].velocity * 20f - base.Center;
38960 localAI[0] = localAI[0].AngleLerp(v3.ToRotation(), 0.5f);
38961 localAI[1] += 0.05f;
38962 if (localAI[1] > 1f)
38963 {
38964 localAI[1] = 1f;
38965 }
38966 if (num315 < 20f)
38967 {
38968 localAI[2] = MathHelper.Lerp(localAI[2], 1.1f, 0.2f);
38969 }
38970 else
38971 {
38972 localAI[2] = MathHelper.Lerp(localAI[2], 0.4f, 0.2f);
38973 }
38974 if (num315 == num316 - 35f)
38975 {
38976 SoundEngine.PlaySound(4, (int)position.X, (int)position.Y, 6);
38977 }
38978 if ((num315 == num316 - 14f || num315 == num316 - 7f || num315 == num316) && Main.netMode != 1)
38979 {
38980 Vector2 vector149 = Utils.Vector2FromElipse(localAI[0].ToRotationVector2(), vector145 * localAI[1]);
38981 Vector2 vector150 = Vector2.Normalize(v3) * 8f;
38982 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), base.Center.X + vector149.X, base.Center.Y + vector149.Y, vector150.X, vector150.Y, 462, 35, 0f, Main.myPlayer);
38983 }
38984 }
38985 else if (this.ai[0] == 2f)
38986 {
38987 if (num315 < 15f)
38988 {
38989 localAI[1] -= 0.07f;
38990 if (localAI[1] < 0f)
38991 {
38992 localAI[1] = 0f;
38993 }
38994 localAI[2] = MathHelper.Lerp(localAI[2], 0.4f, 0.2f);
38995 velocity *= 0.8f;
38996 if (((Vector2)(ref velocity)).Length() < 1f)
38997 {
38998 velocity = Vector2.Zero;
38999 }
39000 }
39001 else if (num315 < 75f)
39002 {
39003 float num326 = (num315 - 15f) / 10f;
39004 int num327 = 0;
39005 int num328 = 0;
39006 switch ((int)num326)
39007 {
39008 case 0:
39009 num327 = 0;
39010 num328 = 2;
39011 break;
39012 case 1:
39013 num327 = 2;
39014 num328 = 5;
39015 break;
39016 case 2:
39017 num327 = 5;
39018 num328 = 3;
39019 break;
39020 case 3:
39021 num327 = 3;
39022 num328 = 1;
39023 break;
39024 case 4:
39025 num327 = 1;
39026 num328 = 4;
39027 break;
39028 case 5:
39029 num327 = 4;
39030 num328 = 0;
39031 break;
39032 }
39033 Vector2 spinningpoint2 = Vector2.UnitY * -30f;
39034 double radians25 = (float)num327 * ((float)Math.PI * 2f) / 6f;
39035 val29 = default(Vector2);
39036 Vector2 value11 = spinningpoint2.RotatedBy(radians25, val29);
39037 double radians26 = (float)num328 * ((float)Math.PI * 2f) / 6f;
39038 val29 = default(Vector2);
39039 Vector2 value12 = spinningpoint2.RotatedBy(radians26, val29);
39040 Vector2 vector151 = Vector2.Lerp(value11, value12, num326 - (float)(int)num326);
39041 float value2 = ((Vector2)(ref vector151)).Length() / 30f;
39042 localAI[0] = vector151.ToRotation();
39043 localAI[1] = MathHelper.Lerp(localAI[1], value2, 0.5f);
39044 for (int num329 = 0; num329 < 2; num329++)
39045 {
39046 Vector2 val77 = base.Center + vector151 - Vector2.One * 4f;
39047 newColor = default(Color);
39048 int num330 = Dust.NewDust(val77, 0, 0, 229, 0f, 0f, 0, newColor);
39049 Dust dust41 = Main.dust[num330];
39050 Dust dust87 = dust41;
39051 dust87.velocity += vector151 / 15f;
39052 Main.dust[num330].noGravity = true;
39053 }
39054 if ((num315 - 15f) % 10f == 0f && Main.netMode != 1)
39055 {
39056 Vector2 vec3 = Vector2.Normalize(vector151);
39057 if (vec3.HasNaNs())
39058 {
39059 vec3 = Vector2.UnitY * -1f;
39060 }
39061 vec3 *= 4f;
39062 int num331 = Projectile.NewProjectile(GetSpawnSource_ForProjectile(), base.Center.X + vector151.X, base.Center.Y + vector151.Y, vec3.X, vec3.Y, 454, 40, 0f, Main.myPlayer, 30f, whoAmI);
39063 }
39064 }
39065 else if (num315 < 105f)
39066 {
39067 localAI[0] = localAI[0].AngleLerp(this.ai[2] - (float)Math.PI / 2f, 0.2f);
39068 localAI[2] = MathHelper.Lerp(localAI[2], 0.75f, 0.2f);
39069 if (num315 == 75f)
39070 {
39072 netUpdate = true;
39073 velocity = Vector2.UnitY * -7f;
39074 for (int num332 = 0; num332 < 1000; num332++)
39075 {
39076 Projectile projectile10 = Main.projectile[num332];
39077 if (projectile10.active && projectile10.type == 454 && projectile10.ai[1] == (float)whoAmI && projectile10.ai[0] != -1f)
39078 {
39079 Projectile projectile11 = projectile10;
39080 Projectile projectile13 = projectile11;
39081 projectile13.velocity += velocity;
39082 projectile10.netUpdate = true;
39083 }
39084 }
39085 }
39086 velocity.Y *= 0.96f;
39087 this.ai[2] = (Main.player[target].Center - base.Center).ToRotation() + (float)Math.PI / 2f;
39088 rotation = rotation.AngleTowards(this.ai[2], (float)Math.PI / 30f);
39089 }
39090 else if (num315 < 120f)
39091 {
39092 SoundEngine.PlaySound(29, (int)base.Center.X, (int)base.Center.Y, 102);
39093 if (num315 == 105f)
39094 {
39095 netUpdate = true;
39096 }
39097 Vector2 vector152 = (this.ai[2] - (float)Math.PI / 2f).ToRotationVector2() * 12f;
39098 velocity = vector152 * 2f;
39099 for (int num333 = 0; num333 < 1000; num333++)
39100 {
39101 Projectile projectile12 = Main.projectile[num333];
39102 if (projectile12.active && projectile12.type == 454 && projectile12.ai[1] == (float)whoAmI && projectile12.ai[0] != -1f)
39103 {
39104 projectile12.ai[0] = -1f;
39105 projectile12.velocity = vector152;
39106 projectile12.netUpdate = true;
39107 }
39108 }
39109 }
39110 else
39111 {
39112 velocity *= 0.92f;
39113 rotation = rotation.AngleLerp(0f, 0.2f);
39114 }
39115 }
39116 else if (this.ai[0] == 3f)
39117 {
39118 if (num315 < 15f)
39119 {
39120 localAI[1] -= 0.07f;
39121 if (localAI[1] < 0f)
39122 {
39123 localAI[1] = 0f;
39124 }
39125 localAI[2] = MathHelper.Lerp(localAI[2], 0.4f, 0.2f);
39126 velocity *= 0.9f;
39127 if (((Vector2)(ref velocity)).Length() < 1f)
39128 {
39129 velocity = Vector2.Zero;
39130 }
39131 }
39132 else if (num315 < 45f)
39133 {
39134 localAI[0] = 0f;
39135 localAI[1] = (float)Math.Sin((num315 - 15f) * ((float)Math.PI * 2f) / 15f) * 0.5f;
39136 if (localAI[1] < 0f)
39137 {
39138 localAI[0] = (float)Math.PI;
39139 }
39140 }
39141 else if (num315 < 185f)
39142 {
39143 if (num315 == 45f)
39144 {
39145 this.ai[2] = (float)(Main.rand.Next(2) == 0).ToDirectionInt() * ((float)Math.PI * 2f) / 40f;
39146 netUpdate = true;
39147 }
39148 if ((num315 - 15f - 30f) % 40f == 0f)
39149 {
39150 this.ai[2] *= 0.95f;
39151 }
39152 localAI[0] += this.ai[2];
39153 localAI[1] += 0.05f;
39154 if (localAI[1] > 1f)
39155 {
39156 localAI[1] = 1f;
39157 }
39158 Vector2 vector153 = localAI[0].ToRotationVector2() * vector145 * localAI[1];
39159 float num334 = MathHelper.Lerp(8f, 20f, (num315 - 15f - 30f) / 140f);
39160 velocity = Vector2.Normalize(vector153) * num334;
39161 rotation = rotation.AngleLerp(velocity.ToRotation() + (float)Math.PI / 2f, 0.2f);
39162 if ((num315 - 15f - 30f) % 10f == 0f && Main.netMode != 1)
39163 {
39164 Vector2 vector154 = base.Center + Vector2.Normalize(vector153) * ((Vector2)(ref vector145)).Length() * 0.4f;
39165 Vector2 vector155 = Vector2.Normalize(vector153) * 8f;
39166 float ai3 = ((float)Math.PI * 2f * (float)Main.rand.NextDouble() - (float)Math.PI) / 30f + (float)Math.PI / 180f * this.ai[2];
39167 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector154.X, vector154.Y, vector155.X, vector155.Y, 452, 35, 0f, Main.myPlayer, 0f, ai3);
39168 }
39169 }
39170 else
39171 {
39172 velocity *= 0.88f;
39173 rotation = rotation.AngleLerp(0f, 0.2f);
39174 localAI[1] -= 0.07f;
39175 if (localAI[1] < 0f)
39176 {
39177 localAI[1] = 0f;
39178 }
39179 localAI[2] = MathHelper.Lerp(localAI[2], 1f, 0.2f);
39180 }
39181 }
39182 else
39183 {
39184 if (this.ai[0] != 4f)
39185 {
39186 return;
39187 }
39188 if (num315 == 0f)
39189 {
39191 netUpdate = true;
39192 }
39193 if (num315 < 180f)
39194 {
39195 localAI[2] = MathHelper.Lerp(localAI[2], 1f, 0.2f);
39196 localAI[1] -= 0.05f;
39197 if (localAI[1] < 0f)
39198 {
39199 localAI[1] = 0f;
39200 }
39201 velocity *= 0.95f;
39202 if (((Vector2)(ref velocity)).Length() < 1f)
39203 {
39204 velocity = Vector2.Zero;
39205 }
39206 if (!(num315 >= 60f))
39207 {
39208 return;
39209 }
39210 Vector2 center20 = base.Center;
39211 int num337 = 0;
39212 if (num315 >= 120f)
39213 {
39214 num337 = 1;
39215 }
39216 for (int num338 = 0; num338 < 1 + num337; num338++)
39217 {
39218 int num339 = 229;
39219 float num340 = 0.8f;
39220 if (num338 % 2 == 1)
39221 {
39222 num339 = 229;
39223 num340 = 1.65f;
39224 }
39225 Vector2 vector156 = center20 + ((float)Main.rand.NextDouble() * ((float)Math.PI * 2f)).ToRotationVector2() * vector145 / 2f;
39226 Vector2 val78 = vector156 - Vector2.One * 8f;
39227 int num1728 = num339;
39228 float speedX27 = velocity.X / 2f;
39229 float speedY26 = velocity.Y / 2f;
39230 newColor = default(Color);
39231 int num341 = Dust.NewDust(val78, 16, 16, num1728, speedX27, speedY26, 0, newColor);
39232 Main.dust[num341].velocity = Vector2.Normalize(center20 - vector156) * 3.5f * (10f - (float)num337 * 2f) / 10f;
39233 Main.dust[num341].noGravity = true;
39234 Main.dust[num341].scale = num340;
39235 Main.dust[num341].customData = this;
39236 }
39237 }
39238 else if (num315 < num316 - 15f)
39239 {
39240 if (num315 == 180f && Main.netMode != 1)
39241 {
39243 Vector2 spinningpoint3 = Main.player[target].Center - base.Center;
39244 ((Vector2)(ref spinningpoint3)).Normalize();
39245 float num342 = -1f;
39246 if (spinningpoint3.X < 0f)
39247 {
39248 num342 = 1f;
39249 }
39251 double radians27 = (0f - num342) * ((float)Math.PI * 2f) / 6f;
39252 val29 = default(Vector2);
39254 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), base.Center.X, base.Center.Y, spinningpoint3.X, spinningpoint3.Y, 455, 50, 0f, Main.myPlayer, num342 * ((float)Math.PI * 2f) / 540f, whoAmI);
39255 this.ai[2] = (spinningpoint3.ToRotation() + (float)Math.PI * 3f) * num342;
39256 netUpdate = true;
39257 }
39258 localAI[1] += 0.05f;
39259 if (localAI[1] > 1f)
39260 {
39261 localAI[1] = 1f;
39262 }
39263 float num343 = (this.ai[2] >= 0f).ToDirectionInt();
39264 float num344 = this.ai[2];
39265 if (num344 < 0f)
39266 {
39267 num344 *= -1f;
39268 }
39269 num344 += (float)Math.PI * -3f;
39270 num344 += num343 * ((float)Math.PI * 2f) / 540f;
39271 localAI[0] = num344;
39272 this.ai[2] = (num344 + (float)Math.PI * 3f) * num343;
39273 }
39274 else
39275 {
39276 localAI[1] -= 0.07f;
39277 if (localAI[1] < 0f)
39278 {
39279 localAI[1] = 0f;
39280 }
39281 }
39282 }
39283 }
39284 else if (aiStyle == 82)
39285 {
39286 float num345 = 90f;
39287 Vector2 vector158 = default(Vector2);
39288 ((Vector2)(ref vector158))._002Ector(0f, 216f);
39289 int num346 = (int)Math.Abs(this.ai[0]) - 1;
39290 int num348 = (int)this.ai[1];
39291 if (!Main.npc[num346].active || Main.npc[num346].type != 396)
39292 {
39293 life = 0;
39294 HitEffect();
39295 active = false;
39296 return;
39297 }
39298 this.ai[2]++;
39299 if (this.ai[2] >= num345)
39300 {
39301 if (Main.netMode != 1)
39302 {
39303 int num349 = (int)Main.npc[num346].ai[3];
39304 int num350 = -1;
39305 int num351 = -1;
39306 int num352 = num346;
39307 for (int num353 = 0; num353 < 200; num353++)
39308 {
39309 if (Main.npc[num353].active && Main.npc[num353].ai[3] == (float)num349)
39310 {
39311 if (num350 == -1 && Main.npc[num353].type == 397 && Main.npc[num353].ai[2] == 0f)
39312 {
39313 num350 = num353;
39314 }
39315 if (num351 == -1 && Main.npc[num353].type == 397 && Main.npc[num353].ai[2] == 1f)
39316 {
39317 num351 = num353;
39318 }
39319 if (num350 != -1 && num351 != -1 && num352 != -1)
39320 {
39321 break;
39322 }
39323 }
39324 }
39325 int num354 = 1000;
39326 int num355 = Main.npc[num349].lifeMax - Main.npc[num349].life;
39327 int num356 = Main.npc[num350].lifeMax - Main.npc[num350].life;
39328 int num357 = Main.npc[num351].lifeMax - Main.npc[num351].life;
39329 int num359 = Main.npc[num352].lifeMax - Main.npc[num352].life;
39330 if (num359 > 0 && num354 > 0)
39331 {
39332 int num360 = num359 - num354;
39333 if (num360 > 0)
39334 {
39335 num360 = 0;
39336 }
39337 int num361 = num354 + num360;
39338 num354 -= num361;
39339 NPC nPC8 = Main.npc[num352];
39340 NPC nPC23 = nPC8;
39341 nPC23.life += num361;
39342 HealEffect(Utils.CenteredRectangle(Main.npc[num352].Center, new Vector2(50f)), num361);
39343 }
39344 if (num355 > 0 && num354 > 0)
39345 {
39346 int num362 = num355 - num354;
39347 if (num362 > 0)
39348 {
39349 num362 = 0;
39350 }
39351 int num363 = num354 + num362;
39352 num354 -= num363;
39353 NPC nPC9 = Main.npc[num349];
39354 NPC nPC23 = nPC9;
39355 nPC23.life += num363;
39356 HealEffect(Utils.CenteredRectangle(Main.npc[num349].Center, new Vector2(50f)), num363);
39357 }
39358 if (num356 > 0 && num354 > 0)
39359 {
39360 int num364 = num356 - num354;
39361 if (num364 > 0)
39362 {
39363 num364 = 0;
39364 }
39365 int num365 = num354 + num364;
39366 num354 -= num365;
39367 NPC nPC10 = Main.npc[num350];
39368 NPC nPC23 = nPC10;
39369 nPC23.life += num365;
39370 HealEffect(Utils.CenteredRectangle(Main.npc[num350].Center, new Vector2(50f)), num365);
39371 }
39372 if (num357 > 0 && num354 > 0)
39373 {
39374 int num366 = num357 - num354;
39375 if (num366 > 0)
39376 {
39377 num366 = 0;
39378 }
39379 int num367 = num354 + num366;
39380 num354 -= num367;
39381 NPC nPC11 = Main.npc[num351];
39382 NPC nPC23 = nPC11;
39383 nPC23.life += num367;
39384 HealEffect(Utils.CenteredRectangle(Main.npc[num351].Center, new Vector2(50f)), num367);
39385 }
39386 }
39387 life = 0;
39388 HitEffect();
39389 active = false;
39390 }
39391 else
39392 {
39393 velocity = Vector2.Zero;
39394 base.Center = Vector2.Lerp(Main.projectile[num348].Center, Main.npc[(int)Math.Abs(this.ai[0]) - 1].Center + vector158, this.ai[2] / num345);
39395 Vector2 spinningpoint4 = Vector2.UnitY * (float)(-height) / 2f;
39396 for (int num368 = 0; num368 < 6; num368++)
39397 {
39398 Vector2 val79 = base.Center - Vector2.One * 4f;
39400 double radians28 = (float)num368 * ((float)Math.PI * 2f) / 6f;
39401 val29 = default(Vector2);
39402 Vector2 val80 = val79 + spinningpoint34.RotatedBy(radians28, val29);
39403 newColor = default(Color);
39404 int num370 = Dust.NewDust(val80, 0, 0, 229, 0f, 0f, 0, newColor);
39405 Main.dust[num370].velocity = -Vector2.UnitY;
39406 Main.dust[num370].noGravity = true;
39407 Main.dust[num370].scale = 0.7f;
39408 Main.dust[num370].customData = this;
39409 }
39410 spinningpoint4 = Vector2.UnitY * (float)(-height) / 6f;
39411 for (int num371 = 0; num371 < 3; num371++)
39412 {
39413 Vector2 val81 = base.Center - Vector2.One * 4f;
39415 double radians29 = (float)num371 * ((float)Math.PI * 2f) / 6f;
39416 val29 = default(Vector2);
39417 Vector2 val82 = val81 + spinningpoint35.RotatedBy(radians29, val29);
39418 newColor = default(Color);
39419 int num372 = Dust.NewDust(val82, 0, 0, 229, 0f, -2f, 0, newColor);
39420 Main.dust[num372].noGravity = true;
39421 Main.dust[num372].scale = 1.5f;
39422 Main.dust[num372].customData = this;
39423 }
39424 }
39425 }
39426 else if (aiStyle == 83)
39427 {
39428 if (type == 437)
39429 {
39430 if (localAI[3] == 0f && Main.netMode != 1)
39431 {
39432 localAI[3] = 1f;
39433 netUpdate = true;
39434 Point[] spawnPoints = null;
39436 {
39437 life = 0;
39438 HitEffect();
39439 active = false;
39440 return;
39441 }
39442 int num373 = 0;
39443 int num374 = 1;
39444 for (int num375 = 0; num375 < 4; num375++)
39445 {
39446 int num376 = 0;
39447 bool flag92 = num375 == 1 || num375 == 2;
39448 num376 = ((!flag92) ? 379 : 438);
39450 if (flag92)
39451 {
39452 localAI[num374++] = num377 + 1;
39453 Main.npc[num377].ai[3] = -(whoAmI + 1);
39454 }
39455 else
39456 {
39457 this.ai[num373++] = num377 + 1;
39458 Main.npc[num377].ai[3] = -(whoAmI + 1);
39459 }
39460 Main.npc[num377].netUpdate = true;
39461 }
39462 }
39463 if (localAI[0] == 1f && Main.netMode != 1)
39464 {
39465 localAI[0] = 2f;
39466 for (int num378 = 0; num378 < 2; num378++)
39467 {
39468 Main.npc[(int)localAI[num378 + 1] - 1].ai[1] = 1f;
39469 Main.npc[(int)localAI[num378 + 1] - 1].netUpdate = true;
39470 Main.npc[(int)this.ai[num378] - 1].ai[3] = 0f;
39471 Main.npc[(int)this.ai[num378] - 1].TargetClosest();
39472 Main.npc[(int)this.ai[num378] - 1].netUpdate = true;
39473 }
39474 }
39475 if (this.ai[0] != -1f && Main.netMode != 1)
39476 {
39477 bool flag93 = true;
39478 for (int num379 = 0; num379 < 2; num379++)
39479 {
39480 if (Main.npc[(int)localAI[num379 + 1] - 1].active && Main.npc[(int)localAI[num379 + 1] - 1].type == 438)
39481 {
39482 flag93 = false;
39483 }
39484 if (Main.npc[(int)this.ai[num379] - 1].active && Main.npc[(int)this.ai[num379] - 1].type == 379)
39485 {
39486 flag93 = false;
39487 }
39488 }
39489 if (flag93)
39490 {
39491 this.ai[0] = -1f;
39492 this.ai[1] = 0f;
39493 this.ai[3] = 0f;
39494 int num381 = (int)base.Center.X / 16 + 11 * (Main.rand.Next(2) == 0).ToDirectionInt();
39495 int num382 = 0;
39496 for (int num383 = -5; num383 < 12; num383++)
39497 {
39498 int num384 = num381;
39499 int num385 = (int)base.Center.Y / 16 + num383;
39500 if (WorldGen.SolidTile(num384, num385) && !Collision.SolidTiles(num384 - 1, num384 + 1, num385 - 3, num385 - 1))
39501 {
39502 num382 = num385;
39503 break;
39504 }
39505 if (num383 == 11)
39506 {
39507 num382 = num385;
39508 }
39509 }
39510 int num386 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), num381 * 16 + 10, num382 * 16 - 2, 439);
39511 Main.npc[num386].direction = (Main.npc[num386].spriteDirection = Math.Sign(base.Center.X - (float)(num381 * 16) - 10f));
39512 this.ai[2] = num386;
39513 netUpdate = true;
39515 }
39516 }
39517 if (this.ai[0] == -1f)
39518 {
39519 this.ai[3]++;
39520 if (this.ai[3] > 300f)
39521 {
39522 life = 0;
39523 HitEffect(0, 9999.0);
39524 active = false;
39525 if (Main.netMode != 1)
39526 {
39527 for (int num387 = 0; num387 < 6; num387++)
39528 {
39529 float num388 = 3f + Main.rand.NextFloat() * 6f;
39530 Vector2 vector159 = Vector2.UnitY.RotatedByRandom(6.2831854820251465);
39531 Vector2 center21 = base.Center;
39532 center21 += vector159 * 30f;
39533 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), center21.X, center21.Y, vector159.X * num388, vector159.Y * num388, 526, 0, 0f, Main.myPlayer, Main.npc[(int)this.ai[2]].Center.X, Main.npc[(int)this.ai[2]].Center.Y);
39534 }
39535 for (int num389 = 0; num389 < 20; num389++)
39536 {
39537 if (Main.rand.Next(2) != 0)
39538 {
39539 float num390 = 3f + Main.rand.NextFloat() * 6f;
39540 Vector2 vector160 = Vector2.UnitY.RotatedByRandom(6.2831854820251465);
39541 Vector2 center22 = base.Center;
39542 center22 += vector160 * 30f;
39543 Vector2 vector161 = base.Center + vector160 * (Main.rand.NextFloat() * 45f + 45f) + Vector2.UnitY * 20f;
39544 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), center22.X, center22.Y, vector160.X * num390, -20f, 526, 0, 0f, Main.myPlayer, vector161.X, vector161.Y);
39545 }
39546 }
39547 }
39548 }
39549 else if (this.ai[3] % 10f == 1f && this.ai[3] > 120f && Main.netMode != 1)
39550 {
39551 float num392 = 3f + Main.rand.NextFloat() * 6f;
39552 Vector2 vector162 = Vector2.UnitY.RotatedByRandom(6.2831854820251465);
39553 Vector2 center24 = base.Center;
39554 center24 += vector162 * 25f;
39555 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), center24.X, center24.Y, vector162.X * num392, vector162.Y * num392, 526, 0, 0f, Main.myPlayer, Main.npc[(int)this.ai[2]].Center.X, Main.npc[(int)this.ai[2]].Center.Y);
39556 }
39557 }
39558 }
39559 if (type == 438)
39560 {
39561 velocity.X *= 0.93f;
39562 if ((double)velocity.X > -0.1 && (double)velocity.X < 0.1)
39563 {
39564 velocity.X = 0f;
39565 }
39566 int num393 = (int)(0f - this.ai[3] - 1f);
39567 if (num393 == -1)
39568 {
39569 life = 0;
39570 HitEffect();
39571 active = false;
39572 return;
39573 }
39574 int num394 = Math.Sign(Main.npc[num393].Center.X - base.Center.X);
39575 if (num394 != direction)
39576 {
39577 velocity.X = 0f;
39579 netUpdate = true;
39580 }
39581 if (justHit && Main.netMode != 1 && Main.npc[num393].localAI[0] == 0f)
39582 {
39583 Main.npc[num393].localAI[0] = 1f;
39584 }
39585 if ((this.ai[0] += 1f) >= 300f)
39586 {
39587 this.ai[0] = 0f;
39588 netUpdate = true;
39589 }
39590 }
39591 if (type == 437)
39592 {
39593 Lighting.AddLight(base.Center, 0.8f, 0.75f, 0.55f);
39594 }
39595 }
39596 else if (aiStyle == 84)
39597 {
39599 }
39600 else if (aiStyle == 85)
39601 {
39602 noTileCollide = false;
39603 if (this.ai[0] == 0f)
39604 {
39605 TargetClosest();
39606 if (Collision.CanHit(base.Center, 1, 1, Main.player[target].Center, 1, 1))
39607 {
39608 this.ai[0] = 1f;
39609 }
39610 else
39611 {
39612 Vector2 vector163 = Main.player[target].Center - base.Center;
39613 vector163.Y -= Main.player[target].height / 4;
39614 float num395 = ((Vector2)(ref vector163)).Length();
39615 if (num395 > 800f)
39616 {
39617 this.ai[0] = 2f;
39618 }
39619 else
39620 {
39621 Vector2 center25 = base.Center;
39622 center25.X = Main.player[target].Center.X;
39623 Vector2 vector164 = center25 - base.Center;
39624 if (((Vector2)(ref vector164)).Length() > 8f && Collision.CanHit(base.Center, 1, 1, center25, 1, 1))
39625 {
39626 this.ai[0] = 3f;
39627 this.ai[1] = center25.X;
39628 this.ai[2] = center25.Y;
39629 Vector2 center26 = base.Center;
39630 center26.Y = Main.player[target].Center.Y;
39631 if (((Vector2)(ref vector164)).Length() > 8f && Collision.CanHit(base.Center, 1, 1, center26, 1, 1) && Collision.CanHit(center26, 1, 1, Main.player[target].position, 1, 1))
39632 {
39633 this.ai[0] = 3f;
39634 this.ai[1] = center26.X;
39635 this.ai[2] = center26.Y;
39636 }
39637 }
39638 else
39639 {
39640 center25 = base.Center;
39641 center25.Y = Main.player[target].Center.Y;
39642 val29 = center25 - base.Center;
39643 if (((Vector2)(ref val29)).Length() > 8f && Collision.CanHit(base.Center, 1, 1, center25, 1, 1))
39644 {
39645 this.ai[0] = 3f;
39646 this.ai[1] = center25.X;
39647 this.ai[2] = center25.Y;
39648 }
39649 }
39650 if (this.ai[0] == 0f)
39651 {
39652 localAI[0] = 0f;
39653 ((Vector2)(ref vector163)).Normalize();
39654 vector163 *= 0.5f;
39656 this.ai[0] = 4f;
39657 this.ai[1] = 0f;
39658 }
39659 }
39660 }
39661 }
39662 else if (this.ai[0] == 1f)
39663 {
39664 rotation += (float)direction * 0.3f;
39665 Vector2 vector165 = Main.player[target].Center - base.Center;
39666 if (type == 421)
39667 {
39668 vector165 = Main.player[target].Top - base.Center;
39669 }
39670 float num396 = ((Vector2)(ref vector165)).Length();
39671 float num397 = 5.5f;
39672 if (type == 405)
39673 {
39674 num397 = 8f;
39675 }
39676 num397 += num396 / 100f;
39677 int num398 = 50;
39678 ((Vector2)(ref vector165)).Normalize();
39679 vector165 *= num397;
39680 velocity = (velocity * (float)(num398 - 1) + vector165) / (float)num398;
39681 if (!Collision.CanHit(base.Center, 1, 1, Main.player[target].Center, 1, 1))
39682 {
39683 this.ai[0] = 0f;
39684 this.ai[1] = 0f;
39685 }
39686 if (type == 421 && num396 < 40f && Main.player[target].active && !Main.player[target].dead)
39687 {
39688 bool flag94 = true;
39689 for (int num399 = 0; num399 < 200; num399++)
39690 {
39691 NPC nPC2 = Main.npc[num399];
39692 if (nPC2.active && nPC2.type == type && nPC2.ai[0] == 5f && nPC2.target == target)
39693 {
39694 flag94 = false;
39695 break;
39696 }
39697 }
39698 if (flag94)
39699 {
39700 base.Center = Main.player[target].Top;
39701 velocity = Vector2.Zero;
39702 this.ai[0] = 5f;
39703 this.ai[1] = 0f;
39704 netUpdate = true;
39705 }
39706 }
39707 }
39708 else if (this.ai[0] == 2f)
39709 {
39710 rotation = velocity.X * 0.1f;
39711 noTileCollide = true;
39712 Vector2 vector166 = Main.player[target].Center - base.Center;
39713 float num400 = ((Vector2)(ref vector166)).Length();
39714 float num401 = 3f;
39715 if (type == 405)
39716 {
39717 num401 = 6f;
39718 }
39719 int num403 = 3;
39720 ((Vector2)(ref vector166)).Normalize();
39721 vector166 *= num401;
39722 velocity = (velocity * (float)(num403 - 1) + vector166) / (float)num403;
39723 if (num400 < 600f && !Collision.SolidCollision(position, width, height))
39724 {
39725 this.ai[0] = 0f;
39726 }
39727 }
39728 else if (this.ai[0] == 3f)
39729 {
39730 rotation = velocity.X * 0.1f;
39731 Vector2 vector167 = default(Vector2);
39732 ((Vector2)(ref vector167))._002Ector(this.ai[1], this.ai[2]);
39733 Vector2 vector169 = vector167 - base.Center;
39734 float num404 = ((Vector2)(ref vector169)).Length();
39735 float num405 = 2f;
39736 if (type == 405)
39737 {
39738 num405 = 3f;
39739 }
39740 float num406 = 3f;
39741 ((Vector2)(ref vector169)).Normalize();
39742 vector169 *= num405;
39743 velocity = (velocity * (num406 - 1f) + vector169) / num406;
39744 if (collideX || collideY)
39745 {
39746 this.ai[0] = 4f;
39747 this.ai[1] = 0f;
39748 }
39749 if (num404 < num405 || num404 > 800f || Collision.CanHit(base.Center, 1, 1, Main.player[target].Center, 1, 1))
39750 {
39751 this.ai[0] = 0f;
39752 }
39753 }
39754 else if (this.ai[0] == 4f)
39755 {
39756 rotation = velocity.X * 0.1f;
39757 if (collideX)
39758 {
39759 velocity.X *= -0.8f;
39760 }
39761 if (collideY)
39762 {
39763 velocity.Y *= -0.8f;
39764 }
39765 Vector2 vector170;
39766 if (velocity.X == 0f && velocity.Y == 0f)
39767 {
39768 vector170 = Main.player[target].Center - base.Center;
39769 vector170.Y -= Main.player[target].height / 4;
39770 ((Vector2)(ref vector170)).Normalize();
39771 velocity = vector170 * 0.1f;
39772 }
39773 float num407 = 2f;
39774 if (type == 405)
39775 {
39776 num407 = 3f;
39777 }
39778 float num408 = 20f;
39780 ((Vector2)(ref vector170)).Normalize();
39781 vector170 *= num407;
39782 velocity = (velocity * (num408 - 1f) + vector170) / num408;
39783 this.ai[1] += 1f;
39784 if (this.ai[1] > 180f)
39785 {
39786 this.ai[0] = 0f;
39787 this.ai[1] = 0f;
39788 }
39789 if (Collision.CanHit(base.Center, 1, 1, Main.player[target].Center, 1, 1))
39790 {
39791 this.ai[0] = 0f;
39792 }
39793 localAI[0] += 1f;
39794 if (localAI[0] >= 5f && !Collision.SolidCollision(position - new Vector2(10f, 10f), width + 20, height + 20))
39795 {
39796 localAI[0] = 0f;
39797 Vector2 center27 = base.Center;
39798 center27.X = Main.player[target].Center.X;
39799 if (Collision.CanHit(base.Center, 1, 1, center27, 1, 1) && Collision.CanHit(base.Center, 1, 1, center27, 1, 1) && Collision.CanHit(Main.player[target].Center, 1, 1, center27, 1, 1))
39800 {
39801 this.ai[0] = 3f;
39802 this.ai[1] = center27.X;
39803 this.ai[2] = center27.Y;
39804 }
39805 else
39806 {
39807 center27 = base.Center;
39808 center27.Y = Main.player[target].Center.Y;
39809 if (Collision.CanHit(base.Center, 1, 1, center27, 1, 1) && Collision.CanHit(Main.player[target].Center, 1, 1, center27, 1, 1))
39810 {
39811 this.ai[0] = 3f;
39812 this.ai[1] = center27.X;
39813 this.ai[2] = center27.Y;
39814 }
39815 }
39816 }
39817 }
39818 else if (this.ai[0] == 5f)
39819 {
39820 Player player3 = Main.player[target];
39821 if (!player3.active || player3.dead)
39822 {
39823 this.ai[0] = 0f;
39824 this.ai[1] = 0f;
39825 netUpdate = true;
39826 }
39827 else
39828 {
39829 base.Center = ((player3.gravDir == 1f) ? player3.Top : player3.Bottom) + new Vector2((float)(player3.direction * 4), 0f);
39830 gfxOffY = player3.gfxOffY;
39831 velocity = Vector2.Zero;
39832 if (!player3.creativeGodMode)
39833 {
39834 player3.AddBuff(163, 59);
39835 }
39836 }
39837 }
39838 if (type == 405)
39839 {
39840 rotation = 0f;
39841 for (int num409 = 0; num409 < 200; num409++)
39842 {
39843 if (num409 != whoAmI && Main.npc[num409].active && Main.npc[num409].type == type && Math.Abs(position.X - Main.npc[num409].position.X) + Math.Abs(position.Y - Main.npc[num409].position.Y) < (float)width)
39844 {
39845 if (position.X < Main.npc[num409].position.X)
39846 {
39847 velocity.X -= 0.05f;
39848 }
39849 else
39850 {
39851 velocity.X += 0.05f;
39852 }
39853 if (position.Y < Main.npc[num409].position.Y)
39854 {
39855 velocity.Y -= 0.05f;
39856 }
39857 else
39858 {
39859 velocity.Y += 0.05f;
39860 }
39861 }
39862 }
39863 }
39864 else
39865 {
39866 if (type != 421)
39867 {
39868 return;
39869 }
39870 hide = this.ai[0] == 5f;
39871 rotation = velocity.X * 0.1f;
39872 for (int num410 = 0; num410 < 200; num410++)
39873 {
39874 if (num410 != whoAmI && Main.npc[num410].active && Main.npc[num410].type == type && Math.Abs(position.X - Main.npc[num410].position.X) + Math.Abs(position.Y - Main.npc[num410].position.Y) < (float)width)
39875 {
39876 if (position.X < Main.npc[num410].position.X)
39877 {
39878 velocity.X -= 0.05f;
39879 }
39880 else
39881 {
39882 velocity.X += 0.05f;
39883 }
39884 if (position.Y < Main.npc[num410].position.Y)
39885 {
39886 velocity.Y -= 0.05f;
39887 }
39888 else
39889 {
39890 velocity.Y += 0.05f;
39891 }
39892 }
39893 }
39894 }
39895 }
39896 else if (aiStyle == 86)
39897 {
39898 if (alpha > 0)
39899 {
39900 alpha -= 30;
39901 if (alpha < 0)
39902 {
39903 alpha = 0;
39904 }
39905 }
39906 noGravity = true;
39907 noTileCollide = true;
39908 knockBackResist = 0f;
39909 for (int num411 = 0; num411 < 200; num411++)
39910 {
39911 if (num411 == whoAmI || !Main.npc[num411].active || Main.npc[num411].type != type)
39912 {
39913 continue;
39914 }
39915 Vector2 vector171 = Main.npc[num411].Center - base.Center;
39916 if (!(((Vector2)(ref vector171)).Length() < 50f))
39917 {
39918 continue;
39919 }
39920 ((Vector2)(ref vector171)).Normalize();
39921 if (vector171.X == 0f && vector171.Y == 0f)
39922 {
39923 if (num411 > whoAmI)
39924 {
39925 vector171.X = 1f;
39926 }
39927 else
39928 {
39929 vector171.X = -1f;
39930 }
39931 }
39932 vector171 *= 0.4f;
39934 NPC nPC7 = Main.npc[num411];
39935 NPC nPC23 = nPC7;
39936 nPC23.velocity += vector171;
39937 }
39938 if (type == 472)
39939 {
39940 float num412 = 120f;
39941 if (localAI[0] < num412)
39942 {
39943 if (localAI[0] == 0f)
39944 {
39946 TargetClosest();
39947 if (direction > 0)
39948 {
39949 velocity.X += 2f;
39950 }
39951 else
39952 {
39953 velocity.X -= 2f;
39954 }
39956 Vector2 vector172 = default(Vector2);
39957 for (int num414 = 0; num414 < 20; num414++)
39958 {
39959 Vector2 center28 = base.Center;
39960 center28.Y -= 18f;
39961 ((Vector2)(ref vector172))._002Ector((float)Main.rand.Next(-100, 101), (float)Main.rand.Next(-100, 101));
39962 ((Vector2)(ref vector172)).Normalize();
39963 vector172 *= (float)Main.rand.Next(0, 100) * 0.1f;
39965 ((Vector2)(ref vector172)).Normalize();
39966 vector172 *= (float)Main.rand.Next(50, 90) * 0.2f;
39967 Vector2 val83 = center28;
39968 newColor = default(Color);
39969 int num415 = Dust.NewDust(val83, 1, 1, 27, 0f, 0f, 0, newColor);
39970 Main.dust[num415].velocity = -vector172 * 0.3f;
39971 Main.dust[num415].alpha = 100;
39972 if (Main.rand.Next(2) == 0)
39973 {
39974 Main.dust[num415].noGravity = true;
39975 Dust dust38 = Main.dust[num415];
39976 Dust dust87 = dust38;
39977 dust87.scale += 0.3f;
39978 }
39979 }
39981 }
39982 localAI[0] += 1f;
39983 float num416 = 1f - localAI[0] / num412;
39984 float num417 = num416 * 20f;
39985 for (int num418 = 0; (float)num418 < num417; num418++)
39986 {
39987 if (Main.rand.Next(5) == 0)
39988 {
39990 Vector2 val84 = position;
39991 int num1729 = width;
39992 int num1730 = height;
39993 newColor = default(Color);
39994 int num419 = Dust.NewDust(val84, num1729, num1730, 27, 0f, 0f, 0, newColor);
39995 Main.dust[num419].alpha = 100;
39996 Dust dust39 = Main.dust[num419];
39997 Dust dust87 = dust39;
39998 dust87.velocity *= 0.3f;
39999 dust39 = Main.dust[num419];
40000 dust87 = dust39;
40001 dust87.velocity += velocity * 0.75f;
40002 Main.dust[num419].noGravity = true;
40004 }
40005 }
40006 }
40007 }
40008 if (type == 521)
40009 {
40010 float num420 = 120f;
40011 if (localAI[0] < num420)
40012 {
40013 if (localAI[0] == 0f)
40014 {
40016 TargetClosest();
40017 if (direction > 0)
40018 {
40019 velocity.X += 2f;
40020 }
40021 else
40022 {
40023 velocity.X -= 2f;
40024 }
40025 }
40026 localAI[0] += 1f;
40027 int num421 = 10;
40028 for (int num422 = 0; num422 < 2; num422++)
40029 {
40031 Vector2 val85 = position - new Vector2((float)num421);
40032 int num1731 = width + num421 * 2;
40033 int num1732 = height + num421 * 2;
40034 newColor = default(Color);
40035 int num423 = Dust.NewDust(val85, num1731, num1732, 228, 0f, 0f, 100, newColor, 2f);
40036 Main.dust[num423].noGravity = true;
40037 Main.dust[num423].noLight = true;
40039 }
40040 }
40041 }
40042 if (this.ai[0] == 0f)
40043 {
40044 TargetClosest();
40045 this.ai[0] = 1f;
40046 this.ai[1] = direction;
40047 }
40048 else if (this.ai[0] == 1f)
40049 {
40050 TargetClosest();
40051 float num425 = 0.3f;
40052 float num426 = 7f;
40053 float num427 = 4f;
40054 float num428 = 660f;
40055 float num429 = 4f;
40056 if (type == 521)
40057 {
40058 num425 = 0.7f;
40059 num426 = 14f;
40060 num428 = 500f;
40061 num427 = 6f;
40062 num429 = 3f;
40063 }
40064 velocity.X += this.ai[1] * num425;
40065 if (velocity.X > num426)
40066 {
40067 velocity.X = num426;
40068 }
40069 if (velocity.X < 0f - num426)
40070 {
40071 velocity.X = 0f - num426;
40072 }
40073 float num430 = Main.player[target].Center.Y - base.Center.Y;
40074 if (Math.Abs(num430) > num427)
40075 {
40076 num429 = 15f;
40077 }
40078 if (num430 > num427)
40079 {
40080 num430 = num427;
40081 }
40082 else if (num430 < 0f - num427)
40083 {
40084 num430 = 0f - num427;
40085 }
40086 velocity.Y = (velocity.Y * (num429 - 1f) + num430) / num429;
40087 if ((this.ai[1] > 0f && Main.player[target].Center.X - base.Center.X < 0f - num428) || (this.ai[1] < 0f && Main.player[target].Center.X - base.Center.X > num428))
40088 {
40089 this.ai[0] = 2f;
40090 this.ai[1] = 0f;
40091 if (base.Center.Y + 20f > Main.player[target].Center.Y)
40092 {
40093 this.ai[1] = -1f;
40094 }
40095 else
40096 {
40097 this.ai[1] = 1f;
40098 }
40099 }
40100 }
40101 else if (this.ai[0] == 2f)
40102 {
40103 float num431 = 0.4f;
40104 float num432 = 0.95f;
40105 float num433 = 5f;
40106 if (type == 521)
40107 {
40108 num431 = 0.3f;
40109 num433 = 7f;
40110 num432 = 0.9f;
40111 }
40112 velocity.Y += this.ai[1] * num431;
40113 if (((Vector2)(ref velocity)).Length() > num433)
40114 {
40115 velocity *= num432;
40116 }
40117 if (velocity.X > -1f && velocity.X < 1f)
40118 {
40119 TargetClosest();
40120 this.ai[0] = 3f;
40121 this.ai[1] = direction;
40122 }
40123 }
40124 else if (this.ai[0] == 3f)
40125 {
40126 float num434 = 0.4f;
40127 float num436 = 0.2f;
40128 float num437 = 5f;
40129 float num438 = 0.95f;
40130 if (type == 521)
40131 {
40132 num434 = 0.6f;
40133 num436 = 0.3f;
40134 num437 = 7f;
40135 num438 = 0.9f;
40136 }
40137 velocity.X += this.ai[1] * num434;
40138 if (base.Center.Y > Main.player[target].Center.Y)
40139 {
40140 velocity.Y -= num436;
40141 }
40142 else
40143 {
40144 velocity.Y += num436;
40145 }
40146 if (((Vector2)(ref velocity)).Length() > num437)
40147 {
40148 velocity *= num438;
40149 }
40150 if (velocity.Y > -1f && velocity.Y < 1f)
40151 {
40152 TargetClosest();
40153 this.ai[0] = 0f;
40154 this.ai[1] = direction;
40155 }
40156 }
40157 if (type == 521)
40158 {
40159 int num439 = 10;
40161 for (int num440 = 0; num440 < 1; num440++)
40162 {
40163 Vector2 val86 = position - new Vector2((float)num439);
40164 int num1733 = width + num439 * 2;
40165 int num1734 = height + num439 * 2;
40166 newColor = default(Color);
40167 int num441 = Dust.NewDust(val86, num1733, num1734, 228, 0f, 0f, 100, newColor, 2f);
40168 Main.dust[num441].noGravity = true;
40169 Main.dust[num441].noLight = true;
40170 }
40172 }
40173 }
40174 else if (aiStyle == 87)
40175 {
40176 knockBackResist = 0.2f * Main.GameModeInfo.KnockbackToEnemiesMultiplier;
40177 dontTakeDamage = false;
40178 noTileCollide = false;
40179 noGravity = false;
40180 reflectsProjectiles = false;
40181 if (this.ai[0] != 7f && Main.player[target].dead)
40182 {
40183 TargetClosest();
40184 if (Main.player[target].dead)
40185 {
40186 this.ai[0] = 7f;
40187 this.ai[1] = 0f;
40188 this.ai[2] = 0f;
40189 this.ai[3] = 0f;
40190 netUpdate = true;
40191 }
40192 }
40193 if (this.ai[0] == 0f)
40194 {
40195 TargetClosest();
40196 Vector2 vector173 = Main.player[target].Center - base.Center;
40197 if (Main.netMode != 1 && (velocity.X != 0f || velocity.Y > 100f || justHit || ((Vector2)(ref vector173)).Length() < 80f))
40198 {
40199 this.ai[0] = 1f;
40200 this.ai[1] = 0f;
40201 netUpdate = true;
40202 }
40203 }
40204 else if (this.ai[0] == 1f)
40205 {
40206 this.ai[1] += 1f;
40207 if (Main.netMode != 1 && this.ai[1] > 36f)
40208 {
40209 this.ai[0] = 2f;
40210 this.ai[1] = 0f;
40211 netUpdate = true;
40212 }
40213 }
40214 else if (this.ai[0] == 2f)
40215 {
40216 Vector2 vector174 = Main.player[target].Center - base.Center;
40217 if (Main.netMode != 1 && ((Vector2)(ref vector174)).Length() > 600f)
40218 {
40219 this.ai[0] = 5f;
40220 this.ai[1] = 0f;
40221 this.ai[2] = 0f;
40222 this.ai[3] = 0f;
40223 netUpdate = true;
40224 }
40225 if (velocity.Y == 0f)
40226 {
40227 TargetClosest();
40228 velocity.X *= 0.85f;
40229 this.ai[1] += 1f;
40230 float num442 = 15f + 30f * ((float)life / (float)lifeMax);
40231 float num443 = 3f + 4f * (1f - (float)life / (float)lifeMax);
40232 float num444 = 4f;
40233 if (!Collision.CanHit(base.Center, 1, 1, Main.player[target].Center, 1, 1))
40234 {
40235 num444 += 2f;
40236 }
40237 if (Main.netMode != 1 && this.ai[1] > num442)
40238 {
40239 this.ai[3] += 1f;
40240 if (this.ai[3] >= 3f)
40241 {
40242 this.ai[3] = 0f;
40243 num444 *= 2f;
40244 num443 /= 2f;
40245 }
40246 this.ai[1] = 0f;
40247 velocity.Y -= num444;
40248 velocity.X = num443 * (float)direction;
40249 netUpdate = true;
40250 }
40251 }
40252 else
40253 {
40254 knockBackResist = 0f;
40255 velocity.X *= 0.99f;
40257 {
40258 velocity.X = -1f;
40259 }
40260 if (direction > 0 && velocity.X < 1f)
40261 {
40262 velocity.X = 1f;
40263 }
40264 }
40265 this.ai[2] += 1f;
40266 if ((double)this.ai[2] > 210.0 && velocity.Y == 0f && Main.netMode != 1)
40267 {
40268 switch (Main.rand.Next(3))
40269 {
40270 case 0:
40271 this.ai[0] = 3f;
40272 break;
40273 case 1:
40274 this.ai[0] = 4f;
40275 noTileCollide = true;
40276 velocity.Y = -8f;
40277 break;
40278 case 2:
40279 this.ai[0] = 6f;
40280 break;
40281 default:
40282 this.ai[0] = 2f;
40283 break;
40284 }
40285 if (Main.tenthAnniversaryWorld && type == 476 && this.ai[0] == 3f && Main.rand.Next(2) == 0)
40286 {
40287 this.ai[0] = 8f;
40288 }
40289 this.ai[1] = 0f;
40290 this.ai[2] = 0f;
40291 this.ai[3] = 0f;
40292 netUpdate = true;
40293 }
40294 }
40295 else if (this.ai[0] == 3f)
40296 {
40297 velocity.X *= 0.85f;
40298 dontTakeDamage = true;
40299 this.ai[1] += 1f;
40300 if (Main.netMode != 1 && this.ai[1] >= 180f)
40301 {
40302 this.ai[0] = 2f;
40303 this.ai[1] = 0f;
40304 netUpdate = true;
40305 }
40306 if (Main.expertMode)
40307 {
40308 ReflectProjectiles(base.Hitbox);
40309 reflectsProjectiles = true;
40310 }
40311 }
40312 else if (this.ai[0] == 4f)
40313 {
40314 noTileCollide = true;
40315 noGravity = true;
40316 knockBackResist = 0f;
40317 if (velocity.X < 0f)
40318 {
40319 direction = -1;
40320 }
40321 else
40322 {
40323 direction = 1;
40324 }
40326 TargetClosest();
40327 Vector2 center29 = Main.player[target].Center;
40328 center29.Y -= 350f;
40329 Vector2 vector175 = center29 - base.Center;
40330 if (this.ai[2] == 1f)
40331 {
40332 this.ai[1] += 1f;
40333 vector175 = Main.player[target].Center - base.Center;
40334 ((Vector2)(ref vector175)).Normalize();
40335 vector175 *= 8f;
40336 velocity = (velocity * 4f + vector175) / 5f;
40337 if (Main.netMode != 1 && this.ai[1] > 6f)
40338 {
40339 this.ai[1] = 0f;
40340 this.ai[0] = 4.1f;
40341 this.ai[2] = 0f;
40343 netUpdate = true;
40344 }
40345 }
40346 else if (Math.Abs(base.Center.X - Main.player[target].Center.X) < 40f && base.Center.Y < Main.player[target].Center.Y - 300f)
40347 {
40348 if (Main.netMode != 1)
40349 {
40350 this.ai[1] = 0f;
40351 this.ai[2] = 1f;
40352 netUpdate = true;
40353 }
40354 }
40355 else
40356 {
40357 ((Vector2)(ref vector175)).Normalize();
40358 vector175 *= 12f;
40359 velocity = (velocity * 5f + vector175) / 6f;
40360 }
40361 }
40362 else if (this.ai[0] == 4.1f)
40363 {
40364 knockBackResist = 0f;
40365 if (this.ai[2] == 0f && Collision.CanHit(base.Center, 1, 1, Main.player[target].Center, 1, 1) && !Collision.SolidCollision(position, width, height))
40366 {
40367 this.ai[2] = 1f;
40368 }
40369 if (position.Y + (float)height >= Main.player[target].position.Y || velocity.Y <= 0f)
40370 {
40371 this.ai[1] += 1f;
40372 if (Main.netMode != 1 && this.ai[1] > 10f)
40373 {
40374 this.ai[0] = 2f;
40375 this.ai[1] = 0f;
40376 this.ai[2] = 0f;
40377 this.ai[3] = 0f;
40378 netUpdate = true;
40379 if (Collision.SolidCollision(position, width, height))
40380 {
40381 this.ai[0] = 5f;
40382 }
40383 }
40384 }
40385 else if (this.ai[2] == 0f)
40386 {
40387 noTileCollide = true;
40388 noGravity = true;
40389 knockBackResist = 0f;
40390 }
40391 velocity.Y += 0.2f;
40392 if (velocity.Y > 16f)
40393 {
40394 velocity.Y = 16f;
40395 }
40396 }
40397 else if (this.ai[0] == 5f)
40398 {
40399 if (velocity.X > 0f)
40400 {
40401 direction = 1;
40402 }
40403 else
40404 {
40405 direction = -1;
40406 }
40408 noTileCollide = true;
40409 noGravity = true;
40410 knockBackResist = 0f;
40411 Vector2 vector176 = Main.player[target].Center - base.Center;
40412 vector176.Y -= 4f;
40413 if (Main.netMode != 1 && ((Vector2)(ref vector176)).Length() < 200f && !Collision.SolidCollision(position, width, height))
40414 {
40415 this.ai[0] = 2f;
40416 this.ai[1] = 0f;
40417 this.ai[2] = 0f;
40418 this.ai[3] = 0f;
40419 netUpdate = true;
40420 }
40421 if (((Vector2)(ref vector176)).Length() > 10f)
40422 {
40423 ((Vector2)(ref vector176)).Normalize();
40424 vector176 *= 10f;
40425 }
40426 velocity = (velocity * 4f + vector176) / 5f;
40427 }
40428 else if (this.ai[0] == 6f)
40429 {
40430 knockBackResist = 0f;
40431 if (velocity.Y == 0f)
40432 {
40433 TargetClosest();
40434 velocity.X *= 0.8f;
40435 this.ai[1] += 1f;
40436 if (this.ai[1] > 5f)
40437 {
40438 this.ai[1] = 0f;
40439 velocity.Y -= 4f;
40440 if (Main.player[target].position.Y + (float)Main.player[target].height < base.Center.Y)
40441 {
40442 velocity.Y -= 1.25f;
40443 }
40444 if (Main.player[target].position.Y + (float)Main.player[target].height < base.Center.Y - 40f)
40445 {
40446 velocity.Y -= 1.5f;
40447 }
40448 if (Main.player[target].position.Y + (float)Main.player[target].height < base.Center.Y - 80f)
40449 {
40450 velocity.Y -= 1.75f;
40451 }
40452 if (Main.player[target].position.Y + (float)Main.player[target].height < base.Center.Y - 120f)
40453 {
40454 velocity.Y -= 2f;
40455 }
40456 if (Main.player[target].position.Y + (float)Main.player[target].height < base.Center.Y - 160f)
40457 {
40458 velocity.Y -= 2.25f;
40459 }
40460 if (Main.player[target].position.Y + (float)Main.player[target].height < base.Center.Y - 200f)
40461 {
40462 velocity.Y -= 2.5f;
40463 }
40464 if (!Collision.CanHit(base.Center, 1, 1, Main.player[target].Center, 1, 1))
40465 {
40466 velocity.Y -= 2f;
40467 }
40468 velocity.X = 12 * direction;
40469 this.ai[2] += 1f;
40470 netUpdate = true;
40471 }
40472 }
40473 else
40474 {
40475 velocity.X *= 0.98f;
40477 {
40478 velocity.X = -8f;
40479 }
40480 if (direction > 0 && velocity.X < 8f)
40481 {
40482 velocity.X = 8f;
40483 }
40484 }
40485 if (Main.netMode != 1 && this.ai[2] >= 3f && velocity.Y == 0f)
40486 {
40487 this.ai[0] = 2f;
40488 this.ai[1] = 0f;
40489 this.ai[2] = 0f;
40490 this.ai[3] = 0f;
40491 netUpdate = true;
40492 }
40493 }
40494 else if (this.ai[0] == 7f)
40495 {
40496 damage = 0;
40497 life = lifeMax;
40498 defense = 9999;
40499 noTileCollide = true;
40500 alpha += 7;
40501 if (alpha > 255)
40502 {
40503 alpha = 255;
40504 }
40505 velocity.X *= 0.98f;
40506 }
40507 else
40508 {
40509 if (this.ai[0] != 8f)
40510 {
40511 return;
40512 }
40513 velocity.X *= 0.85f;
40514 this.ai[1] += 1f;
40515 if (Main.netMode != 1)
40516 {
40517 if (!Main.tenthAnniversaryWorld || this.ai[1] >= 180f)
40518 {
40519 this.ai[0] = 2f;
40520 this.ai[1] = 0f;
40521 netUpdate = true;
40522 }
40523 else if (this.ai[1] % 20f == 0f)
40524 {
40526 }
40527 }
40528 }
40529 }
40530 else if (aiStyle == 88)
40531 {
40532 int num445 = 7;
40533 noTileCollide = false;
40534 noGravity = true;
40535 knockBackResist = 0.2f * Main.GameModeInfo.KnockbackToEnemiesMultiplier;
40536 damage = defDamage;
40537 if (!Main.eclipse && Main.netMode != 1)
40538 {
40539 if (this.ai[0] != -1f)
40540 {
40541 netUpdate = true;
40542 }
40543 this.ai[0] = -1f;
40544 }
40545 else if (target < 0 || Main.player[target].dead || !Main.player[target].active)
40546 {
40547 TargetClosest();
40548 Vector2 vector177 = Main.player[target].Center - base.Center;
40549 if (Main.netMode != 1 && (Main.player[target].dead || ((Vector2)(ref vector177)).Length() > 3000f))
40550 {
40551 if (this.ai[0] != -1f)
40552 {
40553 netUpdate = true;
40554 }
40555 this.ai[0] = -1f;
40556 }
40557 }
40558 else
40559 {
40560 Vector2 vector178 = Main.player[target].Center - base.Center;
40561 if (Main.netMode != 1 && this.ai[0] > 1f && ((Vector2)(ref vector178)).Length() > 1000f)
40562 {
40563 if (this.ai[0] != 1f)
40564 {
40565 netUpdate = true;
40566 }
40567 this.ai[0] = 1f;
40568 }
40569 }
40570 if (this.ai[0] == -1f)
40571 {
40572 Vector2 vector180 = default(Vector2);
40573 ((Vector2)(ref vector180))._002Ector(0f, -8f);
40574 velocity = (velocity * 9f + vector180) / 10f;
40575 noTileCollide = true;
40576 dontTakeDamage = true;
40577 }
40578 else if (this.ai[0] == 0f)
40579 {
40580 TargetClosest();
40581 if (base.Center.X < Main.player[target].Center.X - 2f)
40582 {
40583 direction = 1;
40584 }
40585 if (base.Center.X > Main.player[target].Center.X + 2f)
40586 {
40587 direction = -1;
40588 }
40590 rotation = (rotation * 9f + velocity.X * 0.1f) / 10f;
40591 if (collideX)
40592 {
40593 velocity.X *= (0f - oldVelocity.X) * 0.5f;
40594 if (velocity.X > 4f)
40595 {
40596 velocity.X = 4f;
40597 }
40598 if (velocity.X < -4f)
40599 {
40600 velocity.X = -4f;
40601 }
40602 }
40603 if (collideY)
40604 {
40605 velocity.Y *= (0f - oldVelocity.Y) * 0.5f;
40606 if (velocity.Y > 4f)
40607 {
40608 velocity.Y = 4f;
40609 }
40610 if (velocity.Y < -4f)
40611 {
40612 velocity.Y = -4f;
40613 }
40614 }
40615 Vector2 vector181 = Main.player[target].Center - base.Center;
40616 vector181.Y -= 200f;
40617 if (((Vector2)(ref vector181)).Length() > 800f)
40618 {
40619 this.ai[0] = 1f;
40620 this.ai[1] = 0f;
40621 this.ai[2] = 0f;
40622 this.ai[3] = 0f;
40623 netUpdate = true;
40624 }
40625 else if (((Vector2)(ref vector181)).Length() > 80f)
40626 {
40627 float num448 = 6f;
40628 float num449 = 30f;
40629 ((Vector2)(ref vector181)).Normalize();
40630 vector181 *= num448;
40631 velocity = (velocity * (num449 - 1f) + vector181) / num449;
40632 }
40633 else if (((Vector2)(ref velocity)).Length() > 2f)
40634 {
40635 velocity *= 0.95f;
40636 }
40637 else if (((Vector2)(ref velocity)).Length() < 1f)
40638 {
40639 velocity *= 1.05f;
40640 }
40641 if (Main.netMode == 1)
40642 {
40643 return;
40644 }
40645 this.ai[1] += 1f;
40646 if (justHit)
40647 {
40648 this.ai[1] += Main.rand.Next(10, 30);
40649 }
40650 if (!(this.ai[1] >= 180f))
40651 {
40652 return;
40653 }
40654 this.ai[1] = 0f;
40655 this.ai[2] = 0f;
40656 this.ai[3] = 0f;
40657 netUpdate = true;
40658 while (this.ai[0] == 0f)
40659 {
40660 int num450 = Main.rand.Next(3);
40661 if (num450 == 0 && Collision.CanHit(base.Center, 1, 1, Main.player[target].Center, 1, 1))
40662 {
40663 this.ai[0] = 2f;
40664 continue;
40665 }
40666 switch (num450)
40667 {
40668 case 1:
40669 this.ai[0] = 3f;
40670 break;
40671 case 2:
40672 if (CountNPCS(478) + CountNPCS(479) < num445)
40673 {
40674 this.ai[0] = 4f;
40675 }
40676 break;
40677 }
40678 }
40679 }
40680 else if (this.ai[0] == 1f)
40681 {
40682 collideX = false;
40683 collideY = false;
40684 noTileCollide = true;
40685 knockBackResist = 0f;
40686 if (target < 0 || !Main.player[target].active || Main.player[target].dead)
40687 {
40688 TargetClosest();
40689 }
40690 if (velocity.X < 0f)
40691 {
40692 direction = -1;
40693 }
40694 else if (velocity.X > 0f)
40695 {
40696 direction = 1;
40697 }
40699 rotation = (rotation * 9f + velocity.X * 0.08f) / 10f;
40700 Vector2 vector182 = Main.player[target].Center - base.Center;
40701 if (Main.netMode != 1 && ((Vector2)(ref vector182)).Length() < 300f && !Collision.SolidCollision(position, width, height))
40702 {
40703 this.ai[0] = 0f;
40704 this.ai[1] = 0f;
40705 this.ai[2] = 0f;
40706 this.ai[3] = 0f;
40707 netUpdate = true;
40708 }
40709 float num451 = 7f + ((Vector2)(ref vector182)).Length() / 100f;
40710 float num452 = 25f;
40711 ((Vector2)(ref vector182)).Normalize();
40712 vector182 *= num451;
40713 velocity = (velocity * (num452 - 1f) + vector182) / num452;
40714 }
40715 else if (this.ai[0] == 2f)
40716 {
40717 damage = (int)((double)defDamage * 0.5);
40718 knockBackResist = 0f;
40719 if (target < 0 || !Main.player[target].active || Main.player[target].dead)
40720 {
40721 TargetClosest();
40722 this.ai[0] = 0f;
40723 this.ai[1] = 0f;
40724 this.ai[2] = 0f;
40725 this.ai[3] = 0f;
40726 netUpdate = true;
40727 }
40728 if (Main.player[target].Center.X - 10f < base.Center.X)
40729 {
40730 direction = -1;
40731 }
40732 else if (Main.player[target].Center.X + 10f > base.Center.X)
40733 {
40734 direction = 1;
40735 }
40737 rotation = (rotation * 4f + velocity.X * 0.1f) / 5f;
40738 if (collideX)
40739 {
40740 velocity.X *= (0f - oldVelocity.X) * 0.5f;
40741 if (velocity.X > 4f)
40742 {
40743 velocity.X = 4f;
40744 }
40745 if (velocity.X < -4f)
40746 {
40747 velocity.X = -4f;
40748 }
40749 }
40750 if (collideY)
40751 {
40752 velocity.Y *= (0f - oldVelocity.Y) * 0.5f;
40753 if (velocity.Y > 4f)
40754 {
40755 velocity.Y = 4f;
40756 }
40757 if (velocity.Y < -4f)
40758 {
40759 velocity.Y = -4f;
40760 }
40761 }
40762 Vector2 vector183 = Main.player[target].Center - base.Center;
40763 vector183.Y -= 20f;
40764 this.ai[2] += 1f / 45f;
40765 if (Main.expertMode)
40766 {
40767 this.ai[2] += 1f / 60f;
40768 }
40769 float num453 = 4f + this.ai[2] + ((Vector2)(ref vector183)).Length() / 120f;
40770 float num454 = 20f;
40771 ((Vector2)(ref vector183)).Normalize();
40772 vector183 *= num453;
40773 velocity = (velocity * (num454 - 1f) + vector183) / num454;
40774 if (Main.netMode != 1)
40775 {
40776 this.ai[1] += 1f;
40777 if (this.ai[1] > 240f || !Collision.CanHit(base.Center, 1, 1, Main.player[target].Center, 1, 1))
40778 {
40779 this.ai[0] = 0f;
40780 this.ai[1] = 0f;
40781 this.ai[2] = 0f;
40782 this.ai[3] = 0f;
40783 netUpdate = true;
40784 }
40785 }
40786 }
40787 else if (this.ai[0] == 3f)
40788 {
40789 knockBackResist = 0f;
40790 noTileCollide = true;
40791 if (velocity.X < 0f)
40792 {
40793 direction = -1;
40794 }
40795 else
40796 {
40797 direction = 1;
40798 }
40800 rotation = (rotation * 4f + velocity.X * 0.07f) / 5f;
40801 Vector2 vector184 = Main.player[target].Center - base.Center;
40802 vector184.Y -= 12f;
40803 if (base.Center.X > Main.player[target].Center.X)
40804 {
40805 vector184.X += 400f;
40806 }
40807 else
40808 {
40809 vector184.X -= 400f;
40810 }
40811 if (Main.netMode != 1 && Math.Abs(base.Center.X - Main.player[target].Center.X) > 350f && Math.Abs(base.Center.Y - Main.player[target].Center.Y) < 20f)
40812 {
40813 this.ai[0] = 3.1f;
40814 this.ai[1] = 0f;
40815 netUpdate = true;
40816 }
40817 this.ai[1] += 1f / 30f;
40818 float num455 = 8f + this.ai[1];
40819 float num456 = 4f;
40820 ((Vector2)(ref vector184)).Normalize();
40821 vector184 *= num455;
40822 velocity = (velocity * (num456 - 1f) + vector184) / num456;
40823 }
40824 else if (this.ai[0] == 3.1f)
40825 {
40826 knockBackResist = 0f;
40827 noTileCollide = true;
40828 rotation = (rotation * 4f + velocity.X * 0.07f) / 5f;
40829 Vector2 vector185 = Main.player[target].Center - base.Center;
40830 vector185.Y -= 12f;
40831 float num457 = 16f;
40832 float num459 = 8f;
40833 ((Vector2)(ref vector185)).Normalize();
40834 vector185 *= num457;
40835 velocity = (velocity * (num459 - 1f) + vector185) / num459;
40836 if (velocity.X < 0f)
40837 {
40838 direction = -1;
40839 }
40840 else
40841 {
40842 direction = 1;
40843 }
40845 this.ai[1] += 1f;
40846 if (Main.netMode != 1 && this.ai[1] > 10f)
40847 {
40849 if (velocity.X < 0f)
40850 {
40851 direction = -1;
40852 }
40853 else
40854 {
40855 direction = 1;
40856 }
40857 this.ai[0] = 3.2f;
40858 this.ai[1] = 0f;
40859 this.ai[1] = direction;
40860 netUpdate = true;
40861 }
40862 }
40863 else if (this.ai[0] == 3.2f)
40864 {
40865 damage = (int)((double)defDamage * 1.3);
40866 collideX = false;
40867 collideY = false;
40868 knockBackResist = 0f;
40869 noTileCollide = true;
40870 this.ai[2] += 1f / 30f;
40871 velocity.X = (16f + this.ai[2]) * this.ai[1];
40872 if ((this.ai[1] > 0f && base.Center.X > Main.player[target].Center.X + 260f) || (this.ai[1] < 0f && base.Center.X < Main.player[target].Center.X - 260f))
40873 {
40874 if (Main.netMode != 1 && !Collision.SolidCollision(position, width, height))
40875 {
40876 this.ai[0] = 0f;
40877 this.ai[1] = 0f;
40878 this.ai[2] = 0f;
40879 this.ai[3] = 0f;
40880 netUpdate = true;
40881 }
40882 else if (Main.netMode != 1 && Math.Abs(base.Center.X - Main.player[target].Center.X) > 800f)
40883 {
40884 this.ai[0] = 1f;
40885 this.ai[1] = 0f;
40886 this.ai[2] = 0f;
40887 this.ai[3] = 0f;
40888 netUpdate = true;
40889 }
40890 }
40891 rotation = (rotation * 4f + velocity.X * 0.07f) / 5f;
40892 }
40893 else if (this.ai[0] == 4f)
40894 {
40895 bool flag95 = (double)(base.Center.Y / 16f) < Main.worldSurface;
40896 TargetClosest();
40897 if (Main.netMode != 1)
40898 {
40899 this.ai[0] = 0f;
40900 this.ai[1] = 0f;
40901 this.ai[2] = 0f;
40902 for (int num460 = 0; num460 < 1000; num460++)
40903 {
40904 int num461 = (int)Main.player[target].Center.X / 16;
40905 int num462 = (int)Main.player[target].Center.Y / 16;
40906 int num463 = 30 + num460 / 50;
40907 int num464 = 20 + num460 / 75;
40908 num461 += Main.rand.Next(-num463, num463 + 1);
40909 num462 += Main.rand.Next(-num464, num464 + 1);
40910 if (WorldGen.SolidTile(num461, num462))
40911 {
40912 continue;
40913 }
40914 bool flag96 = false;
40915 int num465 = 50;
40916 while (num465 > 0)
40917 {
40918 num465--;
40919 if (!WorldGen.InWorld(num461, num462, 5))
40920 {
40921 flag96 = true;
40922 break;
40923 }
40924 Tile tile2 = Main.tile[num461, num462];
40925 if (tile2 == null)
40926 {
40927 flag96 = true;
40928 break;
40929 }
40930 if (tile2.liquid > 0 && tile2.lava())
40931 {
40932 flag96 = true;
40933 break;
40934 }
40935 Tile tile3 = Main.tile[num461, num462 - 1];
40936 if (tile3 == null)
40937 {
40938 flag96 = true;
40939 break;
40940 }
40941 if (tile3.liquid > 0 && tile3.lava())
40942 {
40943 flag96 = true;
40944 break;
40945 }
40946 if (WorldGen.SolidTile(num461, num462) || (flag95 && (double)num462 > Main.worldSurface))
40947 {
40948 break;
40949 }
40950 num462++;
40951 }
40952 if (!(num465 <= 0 || flag96))
40953 {
40954 val29 = new Vector2((float)(num461 * 16 + 8), (float)(num462 * 16 + 8)) - Main.player[target].Center;
40955 if (((Vector2)(ref val29)).Length() < 600f)
40956 {
40957 this.ai[0] = 4.1f;
40958 this.ai[1] = num461;
40959 this.ai[2] = num462;
40960 break;
40961 }
40962 }
40963 }
40964 }
40965 netUpdate = true;
40966 }
40967 else if (this.ai[0] == 4.1f)
40968 {
40969 if (velocity.X < -2f)
40970 {
40971 direction = -1;
40972 }
40973 else if (velocity.X > 2f)
40974 {
40975 direction = 1;
40976 }
40978 rotation = (rotation * 9f + velocity.X * 0.1f) / 10f;
40979 noTileCollide = true;
40980 int num466 = (int)this.ai[1];
40981 int num467 = (int)this.ai[2];
40982 float x3 = num466 * 16 + 8;
40983 float y5 = num467 * 16 - 20;
40984 Vector2 v4 = default(Vector2);
40985 ((Vector2)(ref v4))._002Ector(x3, y5);
40986 v4 -= base.Center;
40987 float num468 = 6f + ((Vector2)(ref v4)).Length() / 150f;
40988 if (num468 > 10f)
40989 {
40990 num468 = 10f;
40991 }
40992 float num470 = 10f;
40993 if (((Vector2)(ref v4)).Length() < 10f)
40994 {
40995 this.ai[0] = 4.2f;
40996 netUpdate = true;
40997 }
40998 v4 = v4.SafeNormalize(Vector2.Zero);
40999 v4 *= num468;
41000 velocity = (velocity * (num470 - 1f) + v4) / num470;
41001 if (((Vector2)(ref velocity)).Length() > num468)
41002 {
41003 ((Vector2)(ref velocity)).Normalize();
41004 velocity *= num468;
41005 }
41006 }
41007 else
41008 {
41009 if (this.ai[0] != 4.2f)
41010 {
41011 return;
41012 }
41013 rotation = (rotation * 9f + velocity.X * 0.1f) / 10f;
41014 knockBackResist = 0f;
41015 noTileCollide = true;
41016 int num471 = (int)this.ai[1];
41017 int num472 = (int)this.ai[2];
41018 float x4 = num471 * 16 + 8;
41019 float y6 = num472 * 16 - 20;
41020 Vector2 vector186 = default(Vector2);
41021 ((Vector2)(ref vector186))._002Ector(x4, y6);
41022 vector186 -= base.Center;
41023 float num473 = 4f;
41024 float num474 = 2f;
41025 if (Main.netMode != 1 && ((Vector2)(ref vector186)).Length() < 4f)
41026 {
41027 int num475 = 70;
41028 if (Main.expertMode)
41029 {
41030 num475 = (int)((double)num475 * 0.75);
41031 }
41032 this.ai[3] += 1f;
41033 if (this.ai[3] == (float)num475)
41034 {
41035 int num476 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), num471 * 16 + 8, num472 * 16, 478, whoAmI);
41036 Main.npc[num476].netUpdate = true;
41037 }
41038 else if (this.ai[3] == (float)(num475 * 2))
41039 {
41040 this.ai[0] = 0f;
41041 this.ai[1] = 0f;
41042 this.ai[2] = 0f;
41043 this.ai[3] = 0f;
41044 netUpdate = true;
41045 if (CountNPCS(478) + CountNPCS(479) < num445 && Main.rand.Next(3) != 0)
41046 {
41047 this.ai[0] = 4f;
41048 }
41049 else if (Collision.SolidCollision(position, width, height))
41050 {
41051 this.ai[0] = 1f;
41052 }
41053 }
41054 }
41055 if (((Vector2)(ref vector186)).Length() > num473)
41056 {
41057 ((Vector2)(ref vector186)).Normalize();
41058 vector186 *= num473;
41059 }
41060 velocity = (velocity * (num474 - 1f) + vector186) / num474;
41061 if (((Vector2)(ref velocity)).Length() > num473)
41062 {
41063 ((Vector2)(ref velocity)).Normalize();
41064 velocity *= num473;
41065 }
41066 }
41067 }
41068 else if (aiStyle == 89)
41069 {
41070 if (velocity.Y == 0f)
41071 {
41072 velocity.X *= 0.9f;
41073 rotation += velocity.X * 0.02f;
41074 }
41075 else
41076 {
41077 velocity.X *= 0.99f;
41078 rotation += velocity.X * 0.04f;
41079 }
41080 int num477 = 900;
41081 if (Main.expertMode)
41082 {
41083 num477 = 600;
41084 }
41085 if (justHit)
41086 {
41087 this.ai[0] -= Main.rand.Next(10, 21);
41088 if (!Main.expertMode)
41089 {
41090 this.ai[0] -= Main.rand.Next(10, 21);
41091 }
41092 }
41093 this.ai[0] += 1f;
41094 if (this.ai[0] >= (float)num477)
41095 {
41096 Transform(479);
41097 }
41098 if (Main.netMode != 1 && velocity.Y == 0f && (double)Math.Abs(velocity.X) < 0.2 && (double)this.ai[0] >= (double)num477 * 0.75)
41099 {
41100 float num478 = this.ai[0] - (float)num477 * 0.75f;
41101 num478 /= (float)num477 * 0.25f;
41102 if ((float)Main.rand.Next(-10, 120) < num478 * 100f)
41103 {
41104 velocity.Y -= (float)Main.rand.Next(20, 40) * 0.025f;
41105 velocity.X += (float)Main.rand.Next(-20, 20) * 0.025f;
41106 velocity *= 1f + num478 * 2f;
41107 netUpdate = true;
41108 }
41109 }
41110 }
41111 else if (aiStyle == 90)
41112 {
41113 noTileCollide = false;
41114 knockBackResist = 0.4f * Main.GameModeInfo.KnockbackToEnemiesMultiplier;
41115 noGravity = true;
41116 rotation = (rotation * 9f + velocity.X * 0.1f) / 10f;
41117 if (!Main.eclipse)
41118 {
41120 velocity.Y -= 0.2f;
41121 if (velocity.Y < -8f)
41122 {
41123 velocity.Y = -8f;
41124 }
41125 noTileCollide = true;
41126 return;
41127 }
41128 if (this.ai[0] == 0f || this.ai[0] == 1f)
41129 {
41130 for (int num479 = 0; num479 < 200; num479++)
41131 {
41132 if (num479 != whoAmI && Main.npc[num479].active && Main.npc[num479].type == type)
41133 {
41134 Vector2 vector187 = Main.npc[num479].Center - base.Center;
41135 if (((Vector2)(ref vector187)).Length() < (float)(width + height))
41136 {
41137 ((Vector2)(ref vector187)).Normalize();
41138 vector187 *= -0.1f;
41140 NPC nPC6 = Main.npc[num479];
41141 NPC nPC23 = nPC6;
41142 nPC23.velocity -= vector187;
41143 }
41144 }
41145 }
41146 }
41147 if (target < 0 || Main.player[target].dead || !Main.player[target].active)
41148 {
41149 TargetClosest();
41150 Vector2 vector188 = Main.player[target].Center - base.Center;
41151 if (Main.player[target].dead || ((Vector2)(ref vector188)).Length() > 3000f)
41152 {
41153 this.ai[0] = -1f;
41154 }
41155 }
41156 else
41157 {
41158 Vector2 vector189 = Main.player[target].Center - base.Center;
41159 if (this.ai[0] > 1f && ((Vector2)(ref vector189)).Length() > 1000f)
41160 {
41161 this.ai[0] = 1f;
41162 }
41163 }
41164 if (this.ai[0] == -1f)
41165 {
41166 Vector2 vector191 = default(Vector2);
41167 ((Vector2)(ref vector191))._002Ector(0f, -8f);
41168 velocity = (velocity * 9f + vector191) / 10f;
41169 noTileCollide = true;
41170 dontTakeDamage = true;
41171 }
41172 else if (this.ai[0] == 0f)
41173 {
41174 TargetClosest();
41176 if (collideX)
41177 {
41178 velocity.X *= (0f - oldVelocity.X) * 0.5f;
41179 if (velocity.X > 4f)
41180 {
41181 velocity.X = 4f;
41182 }
41183 if (velocity.X < -4f)
41184 {
41185 velocity.X = -4f;
41186 }
41187 }
41188 if (collideY)
41189 {
41190 velocity.Y *= (0f - oldVelocity.Y) * 0.5f;
41191 if (velocity.Y > 4f)
41192 {
41193 velocity.Y = 4f;
41194 }
41195 if (velocity.Y < -4f)
41196 {
41197 velocity.Y = -4f;
41198 }
41199 }
41200 Vector2 vector192 = Main.player[target].Center - base.Center;
41201 if (((Vector2)(ref vector192)).Length() > 800f)
41202 {
41203 this.ai[0] = 1f;
41204 this.ai[1] = 0f;
41205 this.ai[2] = 0f;
41206 this.ai[3] = 0f;
41207 }
41208 else if (((Vector2)(ref vector192)).Length() > 200f)
41209 {
41210 float num481 = 5.5f + ((Vector2)(ref vector192)).Length() / 100f + this.ai[1] / 15f;
41211 float num482 = 40f;
41212 ((Vector2)(ref vector192)).Normalize();
41213 vector192 *= num481;
41214 velocity = (velocity * (num482 - 1f) + vector192) / num482;
41215 }
41216 else if (((Vector2)(ref velocity)).Length() > 2f)
41217 {
41218 velocity *= 0.95f;
41219 }
41220 else if (((Vector2)(ref velocity)).Length() < 1f)
41221 {
41222 velocity *= 1.05f;
41223 }
41224 this.ai[1] += 1f;
41225 if (this.ai[1] >= 90f)
41226 {
41227 this.ai[1] = 0f;
41228 this.ai[0] = 2f;
41229 }
41230 }
41231 else if (this.ai[0] == 1f)
41232 {
41233 collideX = false;
41234 collideY = false;
41235 noTileCollide = true;
41236 knockBackResist = 0f;
41237 if (target < 0 || !Main.player[target].active || Main.player[target].dead)
41238 {
41239 TargetClosest();
41240 }
41241 if (velocity.X < 0f)
41242 {
41243 direction = -1;
41244 }
41245 else if (velocity.X > 0f)
41246 {
41247 direction = 1;
41248 }
41250 rotation = (rotation * 9f + velocity.X * 0.08f) / 10f;
41251 Vector2 vector193 = Main.player[target].Center - base.Center;
41252 if (((Vector2)(ref vector193)).Length() < 300f && !Collision.SolidCollision(position, width, height))
41253 {
41254 this.ai[0] = 0f;
41255 this.ai[1] = 0f;
41256 this.ai[2] = 0f;
41257 this.ai[3] = 0f;
41258 }
41259 this.ai[2] += 1f / 60f;
41260 float num483 = 5.5f + this.ai[2] + ((Vector2)(ref vector193)).Length() / 150f;
41261 float num484 = 35f;
41262 ((Vector2)(ref vector193)).Normalize();
41263 vector193 *= num483;
41264 velocity = (velocity * (num484 - 1f) + vector193) / num484;
41265 }
41266 else if (this.ai[0] == 2f)
41267 {
41268 if (velocity.X < 0f)
41269 {
41270 direction = -1;
41271 }
41272 else if (velocity.X > 0f)
41273 {
41274 direction = 1;
41275 }
41277 rotation = (rotation * 7f + velocity.X * 0.1f) / 8f;
41278 knockBackResist = 0f;
41279 noTileCollide = true;
41280 Vector2 vector194 = Main.player[target].Center - base.Center;
41281 vector194.Y -= 8f;
41282 float num485 = 9f;
41283 float num486 = 8f;
41284 ((Vector2)(ref vector194)).Normalize();
41285 vector194 *= num485;
41286 velocity = (velocity * (num486 - 1f) + vector194) / num486;
41287 if (velocity.X < 0f)
41288 {
41289 direction = -1;
41290 }
41291 else
41292 {
41293 direction = 1;
41294 }
41296 this.ai[1] += 1f;
41297 if (this.ai[1] > 10f)
41298 {
41300 if (velocity.X < 0f)
41301 {
41302 direction = -1;
41303 }
41304 else
41305 {
41306 direction = 1;
41307 }
41308 this.ai[0] = 2.1f;
41309 this.ai[1] = 0f;
41310 }
41311 }
41312 else
41313 {
41314 if (this.ai[0] != 2.1f)
41315 {
41316 return;
41317 }
41318 if (velocity.X < 0f)
41319 {
41320 direction = -1;
41321 }
41322 else if (velocity.X > 0f)
41323 {
41324 direction = 1;
41325 }
41327 velocity *= 1.01f;
41328 knockBackResist = 0f;
41329 noTileCollide = true;
41330 this.ai[1] += 1f;
41331 int num487 = 45;
41332 if (this.ai[1] > (float)num487)
41333 {
41334 if (!Collision.SolidCollision(position, width, height))
41335 {
41336 this.ai[0] = 0f;
41337 this.ai[1] = 0f;
41338 this.ai[2] = 0f;
41339 }
41340 else if (this.ai[1] > (float)(num487 * 2))
41341 {
41342 this.ai[0] = 1f;
41343 this.ai[1] = 0f;
41344 this.ai[2] = 0f;
41345 }
41346 }
41347 }
41348 }
41349 else if (aiStyle == 91)
41350 {
41351 noGravity = true;
41352 noTileCollide = false;
41353 dontTakeDamage = false;
41354 if (justHit && Main.netMode != 1 && Main.expertMode && Main.rand.Next(6) == 0)
41355 {
41356 netUpdate = true;
41357 this.ai[0] = -1f;
41358 this.ai[1] = 0f;
41359 }
41360 if (this.ai[0] == -1f)
41361 {
41362 dontTakeDamage = true;
41363 noGravity = false;
41364 velocity.X *= 0.98f;
41365 this.ai[1] += 1f;
41366 if (this.ai[1] >= 120f)
41367 {
41368 this.ai[0] = (this.ai[1] = (this.ai[2] = (this.ai[3] = 0f)));
41369 }
41370 }
41371 else if (this.ai[0] == 0f)
41372 {
41373 TargetClosest();
41374 if (Collision.CanHit(base.Center, 1, 1, Main.player[target].Center, 1, 1))
41375 {
41376 this.ai[0] = 1f;
41377 return;
41378 }
41379 Vector2 vector195 = Main.player[target].Center - base.Center;
41380 vector195.Y -= Main.player[target].height / 4;
41381 float num488 = ((Vector2)(ref vector195)).Length();
41382 Vector2 center30 = base.Center;
41383 center30.X = Main.player[target].Center.X;
41384 Vector2 vector196 = center30 - base.Center;
41385 if (((Vector2)(ref vector196)).Length() > 8f && Collision.CanHit(base.Center, 1, 1, center30, 1, 1))
41386 {
41387 this.ai[0] = 3f;
41388 this.ai[1] = center30.X;
41389 this.ai[2] = center30.Y;
41390 Vector2 center31 = base.Center;
41391 center31.Y = Main.player[target].Center.Y;
41392 if (((Vector2)(ref vector196)).Length() > 8f && Collision.CanHit(base.Center, 1, 1, center31, 1, 1) && Collision.CanHit(center31, 1, 1, Main.player[target].position, 1, 1))
41393 {
41394 this.ai[0] = 3f;
41395 this.ai[1] = center31.X;
41396 this.ai[2] = center31.Y;
41397 }
41398 }
41399 else
41400 {
41401 center30 = base.Center;
41402 center30.Y = Main.player[target].Center.Y;
41403 val29 = center30 - base.Center;
41404 if (((Vector2)(ref val29)).Length() > 8f && Collision.CanHit(base.Center, 1, 1, center30, 1, 1))
41405 {
41406 this.ai[0] = 3f;
41407 this.ai[1] = center30.X;
41408 this.ai[2] = center30.Y;
41409 }
41410 }
41411 if (this.ai[0] == 0f)
41412 {
41413 localAI[0] = 0f;
41414 ((Vector2)(ref vector195)).Normalize();
41415 vector195 *= 0.5f;
41417 this.ai[0] = 4f;
41418 this.ai[1] = 0f;
41419 }
41420 }
41421 else if (this.ai[0] == 1f)
41422 {
41423 Vector2 vector197 = Main.player[target].Center - base.Center;
41424 float num489 = ((Vector2)(ref vector197)).Length();
41425 float num490 = 2f;
41426 num490 += num489 / 200f;
41427 int num492 = 50;
41428 ((Vector2)(ref vector197)).Normalize();
41429 vector197 *= num490;
41430 velocity = (velocity * (float)(num492 - 1) + vector197) / (float)num492;
41431 if (!Collision.CanHit(base.Center, 1, 1, Main.player[target].Center, 1, 1))
41432 {
41433 this.ai[0] = 0f;
41434 this.ai[1] = 0f;
41435 }
41436 }
41437 else if (this.ai[0] == 2f)
41438 {
41439 noTileCollide = true;
41440 Vector2 vector198 = Main.player[target].Center - base.Center;
41441 float num493 = ((Vector2)(ref vector198)).Length();
41442 float num494 = 2f;
41443 int num495 = 4;
41444 ((Vector2)(ref vector198)).Normalize();
41445 vector198 *= num494;
41446 velocity = (velocity * (float)(num495 - 1) + vector198) / (float)num495;
41447 if (num493 < 600f && !Collision.SolidCollision(position, width, height))
41448 {
41449 this.ai[0] = 0f;
41450 }
41451 }
41452 else if (this.ai[0] == 3f)
41453 {
41454 Vector2 vector199 = default(Vector2);
41455 ((Vector2)(ref vector199))._002Ector(this.ai[1], this.ai[2]);
41456 Vector2 vector200 = vector199 - base.Center;
41457 float num496 = ((Vector2)(ref vector200)).Length();
41458 float num497 = 1f;
41459 float num498 = 3f;
41460 ((Vector2)(ref vector200)).Normalize();
41461 vector200 *= num497;
41462 velocity = (velocity * (num498 - 1f) + vector200) / num498;
41463 if (collideX || collideY)
41464 {
41465 this.ai[0] = 4f;
41466 this.ai[1] = 0f;
41467 }
41468 if (num496 < num497 || num496 > 800f || Collision.CanHit(base.Center, 1, 1, Main.player[target].Center, 1, 1))
41469 {
41470 this.ai[0] = 0f;
41471 }
41472 }
41473 else
41474 {
41475 if (this.ai[0] != 4f)
41476 {
41477 return;
41478 }
41479 if (collideX)
41480 {
41481 velocity.X *= -0.8f;
41482 }
41483 if (collideY)
41484 {
41485 velocity.Y *= -0.8f;
41486 }
41487 Vector2 vector202;
41488 if (velocity.X == 0f && velocity.Y == 0f)
41489 {
41490 vector202 = Main.player[target].Center - base.Center;
41491 vector202.Y -= Main.player[target].height / 4;
41492 ((Vector2)(ref vector202)).Normalize();
41493 velocity = vector202 * 0.1f;
41494 }
41495 float num499 = 1.5f;
41496 float num500 = 20f;
41498 ((Vector2)(ref vector202)).Normalize();
41499 vector202 *= num499;
41500 velocity = (velocity * (num500 - 1f) + vector202) / num500;
41501 this.ai[1] += 1f;
41502 if (this.ai[1] > 180f)
41503 {
41504 this.ai[0] = 0f;
41505 this.ai[1] = 0f;
41506 }
41507 if (Collision.CanHit(base.Center, 1, 1, Main.player[target].Center, 1, 1))
41508 {
41509 this.ai[0] = 0f;
41510 }
41511 localAI[0] += 1f;
41512 if (!(localAI[0] >= 5f) || Collision.SolidCollision(position - new Vector2(10f, 10f), width + 20, height + 20))
41513 {
41514 return;
41515 }
41516 localAI[0] = 0f;
41517 Vector2 center32 = base.Center;
41518 center32.X = Main.player[target].Center.X;
41519 if (Collision.CanHit(base.Center, 1, 1, center32, 1, 1) && Collision.CanHit(base.Center, 1, 1, center32, 1, 1) && Collision.CanHit(Main.player[target].Center, 1, 1, center32, 1, 1))
41520 {
41521 this.ai[0] = 3f;
41522 this.ai[1] = center32.X;
41523 this.ai[2] = center32.Y;
41524 return;
41525 }
41526 center32 = base.Center;
41527 center32.Y = Main.player[target].Center.Y;
41528 if (Collision.CanHit(base.Center, 1, 1, center32, 1, 1) && Collision.CanHit(Main.player[target].Center, 1, 1, center32, 1, 1))
41529 {
41530 this.ai[0] = 3f;
41531 this.ai[1] = center32.X;
41532 this.ai[2] = center32.Y;
41533 }
41534 }
41535 }
41536 else if (aiStyle == 92)
41537 {
41538 if (Main.rand.Next(20) == 0)
41539 {
41540 switch (Main.rand.Next(15, 18))
41541 {
41542 case 15:
41544 break;
41545 case 16:
41547 break;
41548 case 17:
41550 break;
41551 }
41552 }
41553 if (Main.netMode == 1)
41554 {
41555 return;
41556 }
41557 bool flag97 = false;
41558 int num501 = (int)this.ai[0];
41559 int num503 = (int)this.ai[1];
41560 if (!flag97 && (!Main.tile[num501, num503].active() || Main.tile[num501, num503].type != 378))
41561 {
41562 flag97 = true;
41563 }
41564 if (!flag97 && (target == 255 || Main.player[target].dead || Vector2.Distance(base.Center, Main.player[target].Center) > 160000f))
41565 {
41567 if (target == 255 || Main.player[target].dead || Vector2.Distance(base.Center, Main.player[target].Center) > 160000f)
41568 {
41569 flag97 = true;
41570 }
41571 }
41572 if (flag97)
41573 {
41574 life = 0;
41575 HitEffect();
41576 active = false;
41577 int num504 = TETrainingDummy.Find((int)this.ai[0], (int)this.ai[1]);
41578 if (num504 != -1)
41579 {
41580 ((TETrainingDummy)TileEntity.ByID[num504]).Deactivate();
41581 }
41582 }
41583 }
41584 else if (aiStyle == 93)
41585 {
41586 if (Main.netMode != 1 && localAI[0] == 0f)
41587 {
41588 localAI[0] = 1f;
41589 for (int num505 = 0; num505 < 4; num505++)
41590 {
41591 int num506 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)base.Center.X + num505 * 40 - 150, (int)base.Center.Y, 492, whoAmI, whoAmI, num505, 0f, 60 * num505);
41592 Main.npc[num506].TargetClosest(faceTarget: false);
41593 Main.npc[num506].timeLeft = 600;
41594 Main.npc[num506].netUpdate = true;
41595 this.ai[num505] = num506;
41596 }
41597 netUpdate = true;
41598 }
41599 bool flag98 = true;
41600 for (int num507 = 0; num507 < 4; num507++)
41601 {
41602 if (this.ai[num507] >= 0f && (!Main.npc[(int)this.ai[num507]].active || Main.npc[(int)this.ai[num507]].type != 492))
41603 {
41604 this.ai[num507] = -1f;
41605 netUpdate = true;
41606 }
41607 else if (this.ai[num507] >= 0f)
41608 {
41609 flag98 = false;
41610 }
41611 }
41612 if (flag98)
41613 {
41614 StrikeNPCNoInteraction(9999, 0f, 0);
41615 return;
41616 }
41617 if (Main.netMode != 1 && Main.rand.Next(300) == 0)
41618 {
41619 Vector2 spinningpoint36 = new Vector2((Main.rand.NextFloat() - 0.5f) * (float)(width - 70), (Main.rand.NextFloat() - 0.5f) * 20f - (float)(height / 2) - 20f);
41620 double radians30 = rotation;
41621 val29 = default(Vector2);
41622 Vector2 vector203 = Utils.RotatedBy(spinningpoint36, radians30, val29);
41623 vector203 += base.Center;
41624 int num508 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)vector203.X, (int)vector203.Y, Utils.SelectRandom<int>(Main.rand, 213, 215, 214, 212));
41625 Main.npc[num508].velocity = new Vector2((Main.rand.NextFloat() - 0.5f) * 5f, -8.01f) + velocity;
41626 Main.npc[num508].netUpdate = true;
41627 Main.npc[num508].timeLeft = 600;
41628 }
41629 if ((localAI[3] += 1f) >= 64f)
41630 {
41631 localAI[3] = 0f;
41632 }
41633 TargetClosest();
41634 int num509 = (int)base.Center.X / 16 + Math.Sign(velocity.X) * 10;
41635 int num510 = (int)(position.Y + (float)height) / 16;
41636 int num511 = 0;
41637 if (Main.tile[num509, num510].nactive() && Main.tileSolid[Main.tile[num509, num510].type] && !Main.tileSolidTop[Main.tile[num509, num510].type])
41638 {
41639 num511 = 1;
41640 }
41641 else
41642 {
41643 for (; num511 < 150 && num510 + num511 < Main.maxTilesY; num511++)
41644 {
41645 int num512 = num510 + num511;
41646 if (Main.tile[num509, num512].nactive() && Main.tileSolid[Main.tile[num509, num512].type] && !Main.tileSolidTop[Main.tile[num509, num512].type])
41647 {
41648 num511--;
41649 break;
41650 }
41651 }
41652 }
41653 float num514 = num511 * 16;
41654 if (num514 < 350f)
41655 {
41656 float num515 = num514 - 350f;
41657 if (num515 < -4f)
41658 {
41659 num515 = -4f;
41660 }
41661 velocity.Y = MathHelper.Lerp(velocity.Y, num515, 0.05f);
41662 }
41663 else if (num514 > 450f)
41664 {
41665 float num516 = num514 - 350f;
41666 if (num516 > 4f)
41667 {
41668 num516 = 4f;
41669 }
41670 velocity.Y = MathHelper.Lerp(velocity.Y, num516, 0.05f);
41671 }
41672 else
41673 {
41674 velocity.Y *= 0.95f;
41675 }
41676 float num517 = Main.player[target].Center.X - base.Center.X;
41677 if (Math.Abs(num517) >= 300f && (Math.Abs(velocity.X) < 6f || Math.Sign(velocity.X) != direction))
41678 {
41679 velocity.X += (float)direction * 0.06f;
41680 }
41681 rotation = velocity.X * 0.025f;
41682 spriteDirection = -Math.Sign(velocity.X);
41683 for (int num518 = 0; num518 < 2; num518++)
41684 {
41685 if (Main.rand.Next(2) != 0)
41686 {
41687 Vector2 spinningpoint37 = new Vector2((Main.rand.NextFloat() - 0.5f) * (float)(width - 70), (Main.rand.NextFloat() - 0.5f) * 20f + (float)(height / 2) + 10f);
41688 double radians31 = rotation;
41689 val29 = default(Vector2);
41690 Vector2 vector204 = Utils.RotatedBy(spinningpoint37, radians31, val29);
41691 Dust[] dust90 = Main.dust;
41692 Vector2 center43 = base.Center;
41693 newColor = default(Color);
41694 Dust dust85 = dust90[Dust.NewDust(center43, 0, 0, 228, 0f, 0f, 0, newColor)];
41695 dust85.position = base.Center + vector204;
41696 dust85.velocity = Vector2.Zero;
41697 dust85.noGravity = true;
41698 dust85.noLight = true;
41699 dust85.fadeIn = 1.5f;
41700 dust85.scale = 0.5f;
41701 }
41702 }
41703 }
41704 else if (aiStyle == 94)
41705 {
41706 if (this.ai[2] == 1f)
41707 {
41708 velocity = Vector2.UnitY * ((Vector2)(ref velocity)).Length();
41709 if (velocity.Y < 0.25f)
41710 {
41711 velocity.Y += 0.02f;
41712 }
41713 if (velocity.Y > 0.25f)
41714 {
41715 velocity.Y -= 0.02f;
41716 }
41717 dontTakeDamage = true;
41718 this.ai[1]++;
41719 if (this.ai[1] > 120f)
41720 {
41721 Opacity = 1f - (this.ai[1] - 120f) / 60f;
41722 }
41723 int num519 = 6;
41724 switch (type)
41725 {
41726 case 517:
41727 num519 = 127;
41728 break;
41729 case 422:
41730 num519 = 229;
41731 break;
41732 case 507:
41733 num519 = 242;
41734 break;
41735 case 493:
41736 num519 = 135;
41737 break;
41738 }
41739 if (Main.rand.Next(5) == 0 && this.ai[1] < 120f)
41740 {
41741 for (int num520 = 0; num520 < 3; num520++)
41742 {
41743 Dust[] dust91 = Main.dust;
41744 Vector2 left = base.Left;
41745 int num1735 = width;
41746 int num1736 = height / 2;
41747 int num1737 = num519;
41748 newColor = default(Color);
41749 Dust dust86 = dust91[Dust.NewDust(left, num1735, num1736, num1737, 0f, 0f, 0, newColor)];
41750 dust86.position = base.Center + Vector2.UnitY.RotatedByRandom(4.188790321350098) * new Vector2((float)width * 1.5f, (float)height * 1.1f) * 0.8f * (0.8f + Main.rand.NextFloat() * 0.2f);
41751 dust86.velocity.X = 0f;
41752 dust86.velocity.Y = (0f - Math.Abs(dust86.velocity.Y - (float)num520 + velocity.Y - 4f)) * 3f;
41753 dust86.noGravity = true;
41754 dust86.fadeIn = 1f;
41755 dust86.scale = 1f + Main.rand.NextFloat() + (float)num520 * 0.3f;
41756 }
41757 }
41758 if (this.ai[1] < 150f)
41759 {
41760 for (int num521 = 0; num521 < 3; num521++)
41761 {
41762 if (Main.rand.Next(4) == 0)
41763 {
41764 Dust[] dust92 = Main.dust;
41765 Vector2 val87 = base.Top + new Vector2((float)(-width) * (0.33f - 0.11f * (float)num521), -20f);
41766 int num1738 = (int)((float)width * (0.66f - 0.22f * (float)num521));
41767 int num1739 = num519;
41768 newColor = default(Color);
41769 Dust dust60 = dust92[Dust.NewDust(val87, num1738, 20, num1739, 0f, 0f, 0, newColor)];
41770 dust60.velocity.X = 0f;
41771 dust60.velocity.Y = (0f - Math.Abs(dust60.velocity.Y - (float)num521 + velocity.Y - 4f)) * (1f + this.ai[1] / 180f * 0.5f);
41772 dust60.noGravity = true;
41773 dust60.fadeIn = 1f;
41774 dust60.scale = 1f + Main.rand.NextFloat() + (float)num521 * 0.3f;
41775 }
41776 }
41777 }
41778 if (Main.rand.Next(5) == 0 && this.ai[1] < 150f)
41779 {
41780 for (int num522 = 0; num522 < 3; num522++)
41781 {
41782 Vector2 vector205 = base.Center + Vector2.UnitY.RotatedByRandom(4.188790321350098) * new Vector2((float)width, (float)height) * 0.7f * Main.rand.NextFloat();
41783 float num523 = 1f + Main.rand.NextFloat() * 2f + this.ai[1] / 180f * 4f;
41784 for (int num525 = 0; num525 < 6; num525++)
41785 {
41786 Dust[] dust93 = Main.dust;
41787 int num1740 = num519;
41788 newColor = default(Color);
41789 Dust dust61 = dust93[Dust.NewDust(vector205, 4, 4, num1740, 0f, 0f, 0, newColor)];
41790 dust61.position = vector205;
41791 dust61.velocity.X *= num523;
41792 dust61.velocity.Y = (0f - Math.Abs(dust61.velocity.Y)) * num523;
41793 dust61.noGravity = true;
41794 dust61.fadeIn = 1f;
41795 dust61.scale = 1.5f + Main.rand.NextFloat() + (float)num525 * 0.13f;
41796 }
41797 SoundEngine.PlaySound(3, vector205, Utils.SelectRandom<int>(Main.rand, 1, 18));
41798 }
41799 }
41800 if (Main.rand.Next(3) != 0 && this.ai[1] < 150f)
41801 {
41802 Dust[] dust94 = Main.dust;
41803 Vector2 left2 = base.Left;
41804 int num1741 = width;
41805 int num1742 = height / 2;
41806 newColor = default(Color);
41807 Dust dust62 = dust94[Dust.NewDust(left2, num1741, num1742, 241, 0f, 0f, 0, newColor)];
41808 dust62.position = base.Center + Vector2.UnitY.RotatedByRandom(4.188790321350098) * new Vector2((float)(width / 2), (float)(height / 2)) * (0.8f + Main.rand.NextFloat() * 0.2f);
41809 dust62.velocity.X = 0f;
41810 dust62.velocity.Y = Math.Abs(dust62.velocity.Y) * 0.25f;
41811 }
41812 if (this.ai[1] % 60f == 1f)
41813 {
41814 SoundEngine.PlaySound(4, base.Center, 22);
41815 }
41816 if (this.ai[1] >= 180f)
41817 {
41818 life = 0;
41819 HitEffect(0, 1337.0);
41820 checkDead();
41821 }
41822 return;
41823 }
41824 if (this.ai[3] > 0f)
41825 {
41826 bool flag99 = dontTakeDamage;
41827 switch (type)
41828 {
41829 case 517:
41831 break;
41832 case 422:
41834 break;
41835 case 507:
41837 break;
41838 case 493:
41840 break;
41841 }
41842 if (flag99 != dontTakeDamage)
41843 {
41845 }
41846 else if (this.ai[3] == 1f)
41847 {
41849 }
41850 this.ai[3]++;
41851 if (this.ai[3] > 120f)
41852 {
41853 this.ai[3] = 0f;
41854 }
41855 }
41856 switch (type)
41857 {
41858 case 517:
41860 break;
41861 case 422:
41863 break;
41864 case 507:
41866 break;
41867 case 493:
41869 break;
41870 }
41872 if (Main.player[target].Distance(base.Center) > 2000f)
41873 {
41874 localAI[0]++;
41875 }
41876 if (localAI[0] >= 60f && Main.netMode != 1)
41877 {
41878 localAI[0] = 0f;
41879 netUpdate = true;
41880 life = (int)MathHelper.Clamp((float)(life + 200), 0f, (float)lifeMax);
41881 }
41882 else
41883 {
41884 localAI[0] = 0f;
41885 }
41886 velocity = new Vector2(0f, (float)Math.Sin((float)Math.PI * 2f * this.ai[0] / 300f) * 0.5f);
41887 Point origin = base.Bottom.ToTileCoordinates();
41888 int maxDistance = 10;
41889 int num526 = 20;
41890 int num527 = 30;
41891 if (WorldGen.InWorld(origin.X, origin.Y, 20) && Main.tile[origin.X, origin.Y] != null)
41892 {
41894 {
41895 float num528 = 1f - (float)Math.Abs(origin.Y - result.Y) / 10f;
41896 position.Y -= 1.5f * num528;
41897 }
41899 {
41900 float num529 = 1f;
41902 {
41903 num529 = Utils.GetLerpValue(num526, num527, Math.Abs(origin.Y - result.Y), clamped: true);
41904 }
41905 position.Y += 1.5f * num529;
41906 }
41907 }
41908 if (!Main.remixWorld && !Main.getGoodWorld && (double)base.Bottom.Y > Main.worldSurface * 16.0 - 100.0)
41909 {
41910 position.Y = (float)Main.worldSurface * 16f - (float)height - 100f;
41911 }
41912 this.ai[0]++;
41913 if (this.ai[0] >= 300f)
41914 {
41915 this.ai[0] = 0f;
41916 netUpdate = true;
41917 }
41918 if (type == 493)
41919 {
41920 if (Main.rand.Next(5) == 0)
41921 {
41922 Dust[] dust95 = Main.dust;
41923 Vector2 left3 = base.Left;
41924 int num1743 = width;
41925 int num1744 = height / 2;
41926 newColor = default(Color);
41927 Dust dust63 = dust95[Dust.NewDust(left3, num1743, num1744, 241, 0f, 0f, 0, newColor)];
41928 dust63.position = base.Center + Vector2.UnitY.RotatedByRandom(2.094395160675049) * new Vector2((float)(width / 2), (float)(height / 2)) * (0.8f + Main.rand.NextFloat() * 0.2f);
41929 dust63.velocity.X = 0f;
41930 dust63.velocity.Y = Math.Abs(dust63.velocity.Y) * 0.25f;
41931 }
41932 for (int num530 = 0; num530 < 3; num530++)
41933 {
41934 if (Main.rand.Next(5) == 0)
41935 {
41936 Dust[] dust96 = Main.dust;
41937 Vector2 val88 = base.Top + new Vector2((float)(-width) * (0.33f - 0.11f * (float)num530), -20f);
41938 int num1745 = (int)((float)width * (0.66f - 0.22f * (float)num530));
41939 newColor = default(Color);
41940 Dust dust64 = dust96[Dust.NewDust(val88, num1745, 20, 135, 0f, 0f, 0, newColor)];
41941 dust64.velocity.X = 0f;
41942 dust64.velocity.Y = (0f - Math.Abs(dust64.velocity.Y - (float)num530 + velocity.Y - 4f)) * 1f;
41943 dust64.noGravity = true;
41944 dust64.fadeIn = 1f;
41945 dust64.scale = 1f + Main.rand.NextFloat() + (float)num530 * 0.3f;
41946 }
41947 }
41948 if (this.ai[1] > 0f)
41949 {
41950 this.ai[1]--;
41951 }
41952 if (Main.netMode != 1 && this.ai[1] <= 0f && Main.player[target].active && !Main.player[target].dead && Distance(Main.player[target].Center) < 1080f && Main.player[target].position.Y - position.Y < 400f)
41953 {
41955 }
41956 }
41957 if (type == 507)
41958 {
41959 if (Main.rand.Next(5) == 0)
41960 {
41961 Dust[] dust97 = Main.dust;
41962 Vector2 left4 = base.Left;
41963 int num1746 = width;
41964 int num1747 = height / 2;
41965 newColor = default(Color);
41966 Dust dust65 = dust97[Dust.NewDust(left4, num1746, num1747, 241, 0f, 0f, 0, newColor)];
41967 dust65.position = base.Center + Vector2.UnitY.RotatedByRandom(2.094395160675049) * new Vector2((float)(width / 2), (float)(height / 2)) * (0.8f + Main.rand.NextFloat() * 0.2f);
41968 dust65.velocity.X = 0f;
41969 dust65.velocity.Y = Math.Abs(dust65.velocity.Y) * 0.25f;
41970 }
41971 for (int num531 = 0; num531 < 3; num531++)
41972 {
41973 if (Main.rand.Next(5) == 0)
41974 {
41975 Dust[] dust98 = Main.dust;
41976 Vector2 val89 = base.Top + new Vector2((float)(-width) * (0.33f - 0.11f * (float)num531), -20f);
41977 int num1748 = (int)((float)width * (0.66f - 0.22f * (float)num531));
41978 newColor = default(Color);
41979 Dust dust66 = dust98[Dust.NewDust(val89, num1748, 20, 242, 0f, 0f, 0, newColor)];
41980 dust66.velocity.X = 0f;
41981 dust66.velocity.Y = (0f - Math.Abs(dust66.velocity.Y - (float)num531 + velocity.Y - 4f)) * 1f;
41982 dust66.noGravity = true;
41983 dust66.fadeIn = 1f;
41984 dust66.color = Color.Black;
41985 dust66.scale = 1f + Main.rand.NextFloat() + (float)num531 * 0.3f;
41986 }
41987 }
41988 }
41989 if (type == 422)
41990 {
41991 if (Main.rand.Next(5) == 0)
41992 {
41993 Dust[] dust99 = Main.dust;
41994 Vector2 left5 = base.Left;
41995 int num1749 = width;
41996 int num1750 = height / 2;
41997 newColor = default(Color);
41998 Dust dust67 = dust99[Dust.NewDust(left5, num1749, num1750, 241, 0f, 0f, 0, newColor)];
41999 dust67.position = base.Center + Vector2.UnitY.RotatedByRandom(2.094395160675049) * new Vector2((float)(width / 2), (float)(height / 2)) * (0.8f + Main.rand.NextFloat() * 0.2f);
42000 dust67.velocity.X = 0f;
42001 dust67.velocity.Y = Math.Abs(dust67.velocity.Y) * 0.25f;
42002 }
42003 for (int num532 = 0; num532 < 3; num532++)
42004 {
42005 if (Main.rand.Next(5) == 0)
42006 {
42007 Dust[] dust100 = Main.dust;
42008 Vector2 val90 = base.Top + new Vector2((float)(-width) * (0.33f - 0.11f * (float)num532), -20f);
42009 int num1751 = (int)((float)width * (0.66f - 0.22f * (float)num532));
42010 newColor = default(Color);
42011 Dust dust68 = dust100[Dust.NewDust(val90, num1751, 20, 229, 0f, 0f, 0, newColor)];
42012 dust68.velocity.X = 0f;
42013 dust68.velocity.Y = (0f - Math.Abs(dust68.velocity.Y - (float)num532 + velocity.Y - 4f)) * 1f;
42014 dust68.noGravity = true;
42015 dust68.fadeIn = 1f;
42016 dust68.color = Color.Black;
42017 dust68.scale = 1f + Main.rand.NextFloat() + (float)num532 * 0.3f;
42018 }
42019 }
42020 if (this.ai[1] > 0f)
42021 {
42022 this.ai[1]--;
42023 }
42024 if (Main.netMode != 1 && this.ai[1] <= 0f && Main.player[target].active && !Main.player[target].dead && Distance(Main.player[target].Center) < 3240f && !Collision.CanHitLine(base.Center, 0, 0, Main.player[target].Center, 0, 0))
42025 {
42026 this.ai[1] = 60 + Main.rand.Next(120);
42027 Point point3 = Main.player[target].Top.ToTileCoordinates();
42028 bool flag100 = CountNPCS(428) + CountNPCS(427) + CountNPCS(426) < 14;
42029 for (int num533 = 0; num533 < 10; num533++)
42030 {
42031 if (WorldGen.SolidTile(point3.X, point3.Y))
42032 {
42033 break;
42034 }
42035 if (point3.Y <= 10)
42036 {
42037 break;
42038 }
42039 point3.Y--;
42040 }
42041 if (flag100)
42042 {
42043 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), point3.X * 16 + 8, point3.Y * 16 + 24, 0f, 0f, 579, 0, 0f, Main.myPlayer);
42044 }
42045 else
42046 {
42047 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), point3.X * 16 + 8, point3.Y * 16 + 17, 0f, 0f, 578, 0, 1f, Main.myPlayer);
42048 }
42049 }
42050 if (Main.netMode != 1 && this.ai[1] <= 0f && Main.player[target].active && !Main.player[target].dead && Distance(Main.player[target].Center) < 1080f && Main.player[target].position.Y - position.Y < 400f && CountNPCS(427) + CountNPCS(426) * 3 + CountNPCS(428) < 20)
42051 {
42052 this.ai[1] = 420 + Main.rand.Next(360);
42053 Point point4 = base.Center.ToTileCoordinates();
42054 Point point5 = Main.player[target].Center.ToTileCoordinates();
42055 Vector2 vector206 = Main.player[target].Center - base.Center;
42056 int num534 = 20;
42057 int num536 = 3;
42058 int num537 = 8;
42059 int num538 = 2;
42060 int num539 = 0;
42061 bool flag102 = false;
42062 if (((Vector2)(ref vector206)).Length() > 2000f)
42063 {
42064 flag102 = true;
42065 }
42066 while (!flag102 && num539 < 100)
42067 {
42068 num539++;
42069 int num540 = Main.rand.Next(point5.X - num534, point5.X + num534 + 1);
42070 int num541 = Main.rand.Next(point5.Y - num534, point5.Y + num534 + 1);
42072 {
42073 bool flag103 = true;
42074 if (flag103 && Main.tile[num540, num541].lava())
42075 {
42076 flag103 = false;
42077 }
42078 if (flag103 && Collision.SolidTiles(num540 - num538, num540 + num538, num541 - num538, num541 + num538))
42079 {
42080 flag103 = false;
42081 }
42082 if (flag103 && !Collision.CanHitLine(base.Center, 0, 0, Main.player[target].Center, 0, 0))
42083 {
42084 flag103 = false;
42085 }
42086 if (flag103)
42087 {
42088 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), num540 * 16 + 8, num541 * 16 + 8, 0f, 0f, 579, 0, 0f, Main.myPlayer);
42089 flag102 = true;
42090 break;
42091 }
42092 }
42093 }
42094 }
42095 }
42096 if (type != 517)
42097 {
42098 return;
42099 }
42100 if (Main.rand.Next(5) == 0)
42101 {
42102 Dust[] dust101 = Main.dust;
42103 Vector2 left6 = base.Left;
42104 int num1752 = width;
42105 int num1753 = height / 2;
42106 newColor = default(Color);
42107 Dust dust69 = dust101[Dust.NewDust(left6, num1752, num1753, 241, 0f, 0f, 0, newColor)];
42108 dust69.position = base.Center + Vector2.UnitY.RotatedByRandom(2.094395160675049) * new Vector2((float)(width / 2), (float)(height / 2)) * (0.8f + Main.rand.NextFloat() * 0.2f);
42109 dust69.velocity.X = 0f;
42110 dust69.velocity.Y = Math.Abs(dust69.velocity.Y) * 0.25f;
42111 }
42112 for (int num542 = 0; num542 < 3; num542++)
42113 {
42114 if (Main.rand.Next(5) == 0)
42115 {
42116 Dust[] dust102 = Main.dust;
42117 Vector2 val91 = base.Top + new Vector2((float)(-width) * (0.33f - 0.11f * (float)num542), -20f);
42118 int num1754 = (int)((float)width * (0.66f - 0.22f * (float)num542));
42119 newColor = default(Color);
42120 Dust dust71 = dust102[Dust.NewDust(val91, num1754, 20, 6, 0f, 0f, 0, newColor)];
42121 dust71.velocity.X = 0f;
42122 dust71.velocity.Y = (0f - Math.Abs(dust71.velocity.Y - (float)num542 + velocity.Y - 4f)) * 1f;
42123 dust71.noGravity = true;
42124 dust71.fadeIn = 1f;
42125 dust71.scale = 1f + Main.rand.NextFloat() + (float)num542 * 0.3f;
42126 }
42127 }
42128 if (this.ai[1] > 0f)
42129 {
42130 this.ai[1]--;
42131 }
42132 if (Main.netMode != 1 && this.ai[1] <= 0f && Main.player[target].active && !Main.player[target].dead && Distance(Main.player[target].Center) < 1080f && Main.player[target].position.Y - position.Y < 700f)
42133 {
42134 Vector2 vector207 = base.Top + new Vector2((float)(-width) * 0.33f, -20f) + new Vector2((float)width * 0.66f, 20f) * Utils.RandomVector2(Main.rand, 0f, 1f);
42135 Vector2 vector208 = -Vector2.UnitY.RotatedByRandom(0.7853981852531433) * (7f + Main.rand.NextFloat() * 5f);
42137 Main.npc[num543].velocity = vector208;
42138 Main.npc[num543].netUpdate = true;
42139 this.ai[1] = 60f;
42140 }
42141 }
42142 else if (aiStyle == 95)
42143 {
42144 float num544 = 300f;
42145 if (((Vector2)(ref velocity)).Length() > 4f)
42146 {
42147 velocity *= 0.95f;
42148 }
42149 velocity *= 0.99f;
42150 this.ai[0]++;
42151 float num545 = MathHelper.Clamp(this.ai[0] / num544, 0f, 1f);
42152 scale = 1f + 0.3f * num545;
42153 if (this.ai[0] >= num544)
42154 {
42155 if (Main.netMode != 1)
42156 {
42157 Transform(405);
42158 netUpdate = true;
42159 }
42160 return;
42161 }
42162 rotation += velocity.X * 0.1f;
42163 if (!(this.ai[0] > 20f))
42164 {
42165 return;
42166 }
42167 Vector2 center33 = base.Center;
42168 int num547 = (int)(this.ai[0] / (num544 / 2f));
42169 for (int num548 = 0; num548 < num547 + 1; num548++)
42170 {
42171 if (Main.rand.Next(2) != 0)
42172 {
42173 int num549 = 226;
42174 float num550 = 0.4f;
42175 if (num548 % 2 == 1)
42176 {
42177 num549 = 226;
42178 num550 = 0.65f;
42179 }
42180 Vector2 vector209 = center33 + ((float)Main.rand.NextDouble() * ((float)Math.PI * 2f)).ToRotationVector2() * (12f - (float)(num547 * 2));
42181 Vector2 val92 = vector209 - Vector2.One * 12f;
42182 int num1755 = num549;
42183 float speedX28 = velocity.X / 2f;
42184 float speedY27 = velocity.Y / 2f;
42185 newColor = default(Color);
42186 int num551 = Dust.NewDust(val92, 24, 24, num1755, speedX28, speedY27, 0, newColor);
42187 Dust dust37 = Main.dust[num551];
42188 Dust dust87 = dust37;
42189 dust87.position -= new Vector2(2f);
42190 Main.dust[num551].velocity = Vector2.Normalize(center33 - vector209) * 1.5f * (10f - (float)num547 * 2f) / 10f;
42191 Main.dust[num551].noGravity = true;
42192 Main.dust[num551].scale = num550;
42193 Main.dust[num551].customData = this;
42194 }
42195 }
42196 }
42197 else if (aiStyle == 96)
42198 {
42199 float num552 = 5f;
42200 float moveSpeed = 0.15f;
42201 TargetClosest();
42202 Vector2 desiredVelocity3 = Main.player[target].Center - base.Center + new Vector2(0f, -250f);
42203 float num553 = ((Vector2)(ref desiredVelocity3)).Length();
42204 if (num553 < 20f)
42205 {
42207 }
42208 else if (num553 < 40f)
42209 {
42210 ((Vector2)(ref desiredVelocity3)).Normalize();
42211 desiredVelocity3 *= num552 * 0.35f;
42212 }
42213 else if (num553 < 80f)
42214 {
42215 ((Vector2)(ref desiredVelocity3)).Normalize();
42216 desiredVelocity3 *= num552 * 0.65f;
42217 }
42218 else
42219 {
42220 ((Vector2)(ref desiredVelocity3)).Normalize();
42222 }
42224 rotation = velocity.X * 0.1f;
42225 if (!((this.ai[0] += 1f) >= 70f))
42226 {
42227 return;
42228 }
42229 this.ai[0] = 0f;
42230 if (Main.netMode != 1)
42231 {
42232 Vector2 vector210 = Vector2.Zero;
42233 while (Math.Abs(vector210.X) < 1.5f)
42234 {
42235 vector210 = Vector2.UnitY.RotatedByRandom(1.5707963705062866) * new Vector2(5f, 3f);
42236 }
42237 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), base.Center.X, base.Center.Y, vector210.X, vector210.Y, 539, 60, 0f, Main.myPlayer, 0f, whoAmI);
42238 }
42239 }
42240 else if (aiStyle == 97)
42241 {
42242 float num554 = 7f;
42243 int num555 = 480;
42244 int num556 = 30;
42245 int maxValue6 = 6;
42246 if (localAI[2] < 180f)
42247 {
42248 localAI[2]++;
42249 if (Main.netMode != 1 && localAI[2] % 60f == 0f)
42250 {
42251 Vector2 vector211 = Vector2.Zero;
42252 while (Math.Abs(vector211.X) < 1.5f)
42253 {
42254 vector211 = Vector2.UnitY.RotatedByRandom(1.5707963705062866) * new Vector2(4f, 2.5f);
42255 }
42256 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), base.Center.X, base.Center.Y, vector211.X, vector211.Y, 574, 0, 0f, Main.myPlayer, 0f, whoAmI);
42257 }
42258 }
42259 if (localAI[1] == 1f)
42260 {
42261 localAI[1] = 0f;
42262 if (Main.rand.Next(maxValue6) == 0)
42263 {
42264 this.ai[0] = num555;
42265 }
42266 }
42267 TargetClosest();
42268 if (Main.netMode != 1 && (!Main.player[target].active || Main.player[target].dead))
42269 {
42270 this.ai[0] = 0f;
42271 this.ai[1] = 1f;
42272 this.ai[2] = 0f;
42273 this.ai[3] = 0f;
42274 netUpdate = true;
42275 }
42276 rotation = Math.Abs(velocity.X) * (float)direction * 0.1f;
42278 Vector2 vector213 = base.Center + new Vector2((float)(direction * 20), 6f);
42279 Vector2 vector214 = Main.player[target].Center - vector213;
42280 bool flag104 = Collision.CanHit(base.Center, 1, 1, Main.player[target].Center, 1, 1);
42281 bool flag105 = false;
42282 if (this.ai[1] == 1f)
42283 {
42284 if (localAI[3] == 0f)
42285 {
42286 localAI[3] = 1f;
42287 this.ai[3] = 3f;
42289 for (int num559 = 0; num559 < 20; num559++)
42290 {
42291 Vector2 val93 = position;
42292 int num1756 = width;
42293 int num1757 = height;
42294 newColor = default(Color);
42295 int num560 = Dust.NewDust(val93, num1756, num1757, 242, 0f, 0f, 0, newColor);
42296 Dust dust36 = Main.dust[num560];
42297 Dust dust87 = dust36;
42298 dust87.velocity *= 3f;
42299 Main.dust[num560].noGravity = true;
42300 Main.dust[num560].scale = 2.5f;
42301 }
42302 }
42303 this.ai[3]--;
42304 if (this.ai[3] <= 0f)
42305 {
42306 active = false;
42307 netUpdate = true;
42308 }
42309 return;
42310 }
42311 if (((Vector2)(ref vector214)).Length() > 400f || !flag104)
42312 {
42313 Vector2 vector215 = vector214;
42314 if (((Vector2)(ref vector215)).Length() > num554)
42315 {
42316 ((Vector2)(ref vector215)).Normalize();
42317 vector215 *= num554;
42318 }
42319 int num561 = 30;
42320 velocity = (velocity * (float)(num561 - 1) + vector215) / (float)num561;
42321 }
42322 else
42323 {
42324 velocity *= 0.98f;
42325 flag105 = true;
42326 }
42327 if (this.ai[2] != 0f && this.ai[3] != 0f)
42328 {
42330 for (int num562 = 0; num562 < 20; num562++)
42331 {
42332 Vector2 val94 = position;
42333 int num1758 = width;
42334 int num1759 = height;
42335 newColor = default(Color);
42336 int num563 = Dust.NewDust(val94, num1758, num1759, 242, 0f, 0f, 0, newColor);
42337 Dust dust34 = Main.dust[num563];
42338 Dust dust87 = dust34;
42339 dust87.velocity *= 3f;
42340 Main.dust[num563].noGravity = true;
42341 Main.dust[num563].scale = 2.5f;
42342 }
42343 base.Center = new Vector2(this.ai[2] * 16f, this.ai[3] * 16f);
42344 velocity = Vector2.Zero;
42345 this.ai[2] = 0f;
42346 this.ai[3] = 0f;
42348 for (int num564 = 0; num564 < 20; num564++)
42349 {
42350 Vector2 val95 = position;
42351 int num1760 = width;
42352 int num1761 = height;
42353 newColor = default(Color);
42354 int num565 = Dust.NewDust(val95, num1760, num1761, 242, 0f, 0f, 0, newColor);
42355 Dust dust35 = Main.dust[num565];
42356 Dust dust87 = dust35;
42357 dust87.velocity *= 3f;
42358 Main.dust[num565].noGravity = true;
42359 Main.dust[num565].scale = 2.5f;
42360 }
42361 }
42362 this.ai[0]++;
42363 if (this.ai[0] >= (float)num555 && Main.netMode != 1)
42364 {
42365 this.ai[0] = 0f;
42366 Point point6 = base.Center.ToTileCoordinates();
42367 Point point7 = Main.player[target].Center.ToTileCoordinates();
42368 Vector2 chosenTile2 = Vector2.Zero;
42370 {
42371 this.ai[1] = 20f;
42372 this.ai[2] = chosenTile2.X;
42373 this.ai[3] = chosenTile2.Y;
42374 bool flag106 = true;
42375 for (int num566 = 0; num566 < 1000; num566++)
42376 {
42377 Projectile projectile2 = Main.projectile[num566];
42378 if (projectile2.active && projectile2.type == 574 && projectile2.ai[1] == (float)whoAmI && !(projectile2.ai[0] >= 0f))
42379 {
42380 flag106 = false;
42381 break;
42382 }
42383 }
42384 if (flag106)
42385 {
42386 for (int num567 = 0; num567 < 1000; num567++)
42387 {
42388 Projectile projectile3 = Main.projectile[num567];
42389 if (projectile3.active && projectile3.type == 574 && projectile3.ai[1] == (float)whoAmI)
42390 {
42391 projectile3.ai[0] -= num556;
42392 }
42393 }
42394 }
42395 }
42396 netUpdate = true;
42397 }
42398 if (flag105 && ((Vector2)(ref velocity)).Length() < 2f && Main.netMode != 1)
42399 {
42400 localAI[0] += 1f;
42401 _ = localAI[0];
42402 }
42403 }
42404 else if (aiStyle == 98)
42405 {
42406 noTileCollide = false;
42407 if (this.ai[0] == 0f)
42408 {
42409 TargetClosest();
42410 this.ai[0] = 1f;
42411 this.ai[1] = 0f;
42412 this.ai[2] = 0f;
42413 this.ai[3] = 0f;
42414 }
42415 bool flag107 = Collision.CanHit(base.Center, 1, 1, Main.player[target].position, 1, 1);
42416 bool flag108 = true;
42417 if (!flag107 || Main.player[target].dead)
42418 {
42419 flag108 = false;
42420 }
42421 else
42422 {
42423 int num568 = (int)(Main.player[target].Center.X / 16f);
42424 int num570 = (int)(Main.player[target].Center.Y / 16f);
42425 for (int num571 = num568 - 2; num571 <= num568 + 2; num571++)
42426 {
42427 for (int num572 = num570; num572 <= num570 + 25; num572++)
42428 {
42429 if (WorldGen.SolidTile2(num571, num572))
42430 {
42431 flag108 = false;
42432 }
42433 }
42434 }
42435 }
42436 if (this.ai[0] < 0f)
42437 {
42438 Vector2 vector216 = Main.player[target].Center - base.Center;
42439 float num573 = ((Vector2)(ref vector216)).Length();
42440 if (this.ai[0] == -1f)
42441 {
42442 ((Vector2)(ref vector216)).Normalize();
42443 if (vector216.HasNaNs())
42444 {
42445 ((Vector2)(ref vector216))._002Ector((float)direction, 0f);
42446 }
42447 float num574 = 8f + num573 / 100f;
42448 float num575 = 12f;
42449 if (((Vector2)(ref Main.player[target].velocity)).Length() > num575)
42450 {
42451 num575 = ((Vector2)(ref Main.player[target].velocity)).Length();
42452 }
42453 if (num574 > num575)
42454 {
42455 num574 = num575;
42456 }
42457 vector216 *= num574;
42458 float num576 = 10f;
42459 velocity = (velocity * (num576 - 1f) + vector216) / num576;
42460 for (int num577 = 0; num577 < 200; num577++)
42461 {
42462 if (Main.npc[num577].active && Main.npc[num577].type == type && num577 != whoAmI)
42463 {
42464 Vector2 vector217 = Main.npc[num577].Center - base.Center;
42465 if (((Vector2)(ref vector217)).Length() < 40f)
42466 {
42467 ((Vector2)(ref vector217)).Normalize();
42468 vector217 *= 1f;
42470 }
42471 }
42472 }
42473 rotation += velocity.X * 0.03f;
42474 if ((double)rotation < -6.2831)
42475 {
42476 rotation += 6.2831f;
42477 }
42478 if ((double)rotation > 6.2831)
42479 {
42480 rotation -= 6.2831f;
42481 }
42482 if (velocity.X > 0f)
42483 {
42484 direction = 1;
42485 }
42486 else if (velocity.X < 0f)
42487 {
42488 direction = -1;
42489 }
42491 }
42492 this.ai[1] += 1f;
42493 if (this.ai[1] >= 60f && !flag108)
42494 {
42495 this.ai[0] = 0f;
42496 }
42497 }
42498 else if (this.ai[0] == 2f)
42499 {
42500 rotation *= 0.92f;
42501 if ((double)Math.Abs(rotation) < 0.02)
42502 {
42503 rotation = 0f;
42504 }
42505 int num578 = 300;
42506 float num579 = Math.Abs(base.Center.X - Main.player[target].Center.X);
42507 if (num579 < (float)num578 && Collision.CanHit(base.Center, 1, 1, Main.player[target].position, 1, 1))
42508 {
42509 velocity.X *= 0.96f;
42510 velocity.Y *= 0.96f;
42511 this.ai[1] += 1f;
42512 if (this.ai[1] == 20f)
42513 {
42514 if (Main.netMode != 1)
42515 {
42516 int num581 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)base.Center.X, (int)base.Center.Y + 26, 516, 0, 0f, 0f, 0f, 0f, target);
42517 }
42518 }
42519 else if (this.ai[1] >= 30f)
42520 {
42521 this.ai[1] = 0f;
42522 }
42523 for (int num582 = 0; num582 < 200; num582++)
42524 {
42525 if (Main.npc[num582].active && Main.npc[num582].type == type && num582 != whoAmI)
42526 {
42527 Vector2 vector218 = Main.npc[num582].Center - base.Center;
42528 if (((Vector2)(ref vector218)).Length() < 100f)
42529 {
42530 ((Vector2)(ref vector218)).Normalize();
42531 vector218 *= 0.1f;
42533 }
42534 }
42535 }
42536 }
42537 else
42538 {
42539 this.ai[0] = 0f;
42540 }
42541 if (Main.player[target].Center.X < base.Center.X)
42542 {
42543 direction = -1;
42544 }
42545 else if (Main.player[target].Center.X > base.Center.X)
42546 {
42547 direction = 1;
42548 }
42550 }
42551 if (this.ai[0] != 1f)
42552 {
42553 return;
42554 }
42555 rotation *= 0.92f;
42556 if ((double)Math.Abs(rotation) < 0.02)
42557 {
42558 rotation = 0f;
42559 }
42560 if (flag108)
42561 {
42562 this.ai[0] = -1f;
42563 this.ai[1] = 0f;
42564 this.ai[2] = 0f;
42565 this.ai[3] = 0f;
42566 }
42567 int num583 = 300;
42568 for (int num584 = 0; num584 < 200; num584++)
42569 {
42570 if (Main.npc[num584].active && Main.npc[num584].type == type && num584 != whoAmI)
42571 {
42572 Vector2 vector219 = Main.npc[num584].Center - base.Center;
42573 if (((Vector2)(ref vector219)).Length() < 50f)
42574 {
42575 ((Vector2)(ref vector219)).Normalize();
42576 vector219 *= 0.1f;
42578 velocity.X -= vector219.X * 1f;
42579 }
42580 }
42581 }
42582 int num585 = 800;
42583 float num586 = Math.Abs(base.Center.X - Main.player[target].Center.X);
42584 if (num586 < (float)num583 && flag107)
42585 {
42586 this.ai[0] = 2f;
42587 this.ai[1] = 0f;
42588 }
42589 else
42590 {
42591 if (collideX)
42592 {
42593 velocity.X *= -0.5f;
42594 this.ai[1] = 60f;
42595 direction *= -1;
42596 }
42597 if (this.ai[1] > 0f)
42598 {
42599 this.ai[1] -= 1f;
42600 }
42601 else if (flag107)
42602 {
42603 if (base.Center.X > Main.player[target].Center.X)
42604 {
42605 direction = -1;
42606 }
42607 else
42608 {
42609 direction = 1;
42610 }
42611 }
42612 else if (num586 > (float)num585)
42613 {
42614 if (base.Center.X > Main.player[target].Center.X)
42615 {
42616 direction = -1;
42617 }
42618 else
42619 {
42620 direction = 1;
42621 }
42622 }
42623 float num587 = 2f;
42624 float num588 = 0.1f;
42625 if (velocity.X > num587 || velocity.X < 0f - num587)
42626 {
42627 if (Math.Abs(velocity.X) < num587 + num588 * 2f)
42628 {
42629 if (velocity.X < 0f)
42630 {
42631 velocity.X = 0f - num587;
42632 }
42633 else
42634 {
42635 velocity.X = num587;
42636 }
42637 }
42638 else
42639 {
42640 velocity.X *= 0.99f;
42641 }
42642 }
42643 else
42644 {
42645 velocity.X += (float)direction * num588;
42646 }
42648 }
42649 if (collideY)
42650 {
42651 this.ai[2] = 60f;
42652 directionY *= -1;
42653 velocity.Y *= -0.5f;
42654 }
42655 if (this.ai[2] > 0f)
42656 {
42657 this.ai[2] -= 1f;
42658 }
42659 else
42660 {
42661 int num589 = (int)(base.Center.Y / 16f);
42662 int num590 = (int)((base.Center.X - 8f) / 16f);
42663 int num592 = 30;
42664 int num593 = 15;
42665 int num594 = 0;
42666 for (int num595 = num589; num595 < num589 + num592; num595++)
42667 {
42668 for (int num596 = num590; num596 <= num590 + 1; num596++)
42669 {
42670 if (WorldGen.SolidTile(num596, num595) || Main.tile[num596, num595].liquid > 0)
42671 {
42672 num594 = num595 - num589;
42673 break;
42674 }
42675 }
42676 if (num594 != 0)
42677 {
42678 break;
42679 }
42680 }
42681 if (num594 == 0)
42682 {
42683 directionY = 1;
42684 }
42685 else if (num594 < num593)
42686 {
42687 directionY = -1;
42688 }
42689 }
42690 float num597 = 2f;
42691 float num598 = 0.1f;
42692 if (velocity.Y > num597 || velocity.Y < 0f - num597)
42693 {
42694 if (Math.Abs(velocity.Y) < num597 + num598 * 2f)
42695 {
42696 if (velocity.Y < 0f)
42697 {
42698 velocity.Y = 0f - num597;
42699 }
42700 else
42701 {
42702 velocity.Y = num597;
42703 }
42704 }
42705 else
42706 {
42707 velocity.Y *= 0.99f;
42708 }
42709 }
42710 else
42711 {
42712 velocity.Y += (float)directionY * num598;
42713 }
42714 }
42715 else if (aiStyle == 99)
42716 {
42717 if (velocity.Y == 0f && this.ai[0] == 0f)
42718 {
42719 this.ai[0] = 1f;
42720 this.ai[1] = 0f;
42721 netUpdate = true;
42722 return;
42723 }
42724 if (this.ai[0] == 1f)
42725 {
42726 velocity = Vector2.Zero;
42728 this.ai[1]++;
42729 if (this.ai[1] >= 5f)
42730 {
42731 HitEffect(0, 9999.0);
42732 active = false;
42733 }
42734 return;
42735 }
42736 velocity.Y += 0.2f;
42737 if (velocity.Y > 12f)
42738 {
42739 velocity.Y = 12f;
42740 }
42741 rotation = velocity.ToRotation() - (float)Math.PI / 2f;
42742 if (type != 519)
42743 {
42744 return;
42745 }
42746 if (localAI[0] == 0f)
42747 {
42748 localAI[0] = 1f;
42749 for (int num599 = 0; num599 < 13; num599++)
42750 {
42751 Vector2 val96 = position;
42752 int num1762 = width;
42753 int num1763 = height;
42754 float speedX29 = velocity.X * 0.5f;
42755 float speedY28 = velocity.Y * 0.5f;
42756 newColor = default(Color);
42757 int num600 = Dust.NewDust(val96, num1762, num1763, 6, speedX29, speedY28, 90, newColor, 2.5f);
42758 Main.dust[num600].noGravity = true;
42759 Main.dust[num600].fadeIn = 1f;
42760 Dust dust30 = Main.dust[num600];
42761 Dust dust87 = dust30;
42762 dust87.velocity *= 4f;
42763 Main.dust[num600].noLight = true;
42764 }
42765 }
42766 for (int num601 = 0; num601 < 3; num601++)
42767 {
42768 if (Main.rand.Next(3) < 2)
42769 {
42770 Vector2 val97 = position;
42771 int num1764 = width;
42772 int num1765 = height;
42773 float speedX30 = velocity.X * 0.5f;
42774 float speedY29 = velocity.Y * 0.5f;
42775 newColor = default(Color);
42776 int num603 = Dust.NewDust(val97, num1764, num1765, 6, speedX30, speedY29, 90, newColor, 2.5f);
42777 Main.dust[num603].noGravity = true;
42778 Dust dust32 = Main.dust[num603];
42779 Dust dust87 = dust32;
42780 dust87.velocity *= 0.2f;
42781 Main.dust[num603].fadeIn = 1f;
42782 if (Main.rand.Next(6) == 0)
42783 {
42784 dust32 = Main.dust[num603];
42785 dust87 = dust32;
42786 dust87.velocity *= 30f;
42787 Main.dust[num603].noGravity = false;
42788 Main.dust[num603].noLight = true;
42789 }
42790 else
42791 {
42792 Main.dust[num603].velocity = DirectionFrom(Main.dust[num603].position) * ((Vector2)(ref Main.dust[num603].velocity)).Length();
42793 }
42794 }
42795 }
42796 }
42797 else if (aiStyle == 100)
42798 {
42799 if (velocity.Y == 0f && this.ai[0] >= 0f)
42800 {
42801 this.ai[0] = -1f;
42802 this.ai[1] = 0f;
42803 netUpdate = true;
42804 return;
42805 }
42806 if (this.ai[0] == -1f)
42807 {
42808 velocity = Vector2.Zero;
42810 this.ai[1]++;
42811 if (this.ai[1] >= 5f)
42812 {
42813 HitEffect(0, 9999.0);
42814 active = false;
42815 }
42816 return;
42817 }
42818 rotation = velocity.ToRotation() - (float)Math.PI / 2f;
42819 if (type != 522)
42820 {
42821 return;
42822 }
42823 if (localAI[0] == 0f)
42824 {
42825 localAI[0] = 1f;
42826 velocity.X = this.ai[2];
42827 velocity.Y = this.ai[3];
42828 for (int num604 = 0; num604 < 13; num604++)
42829 {
42830 Vector2 val98 = position;
42831 int num1766 = width;
42832 int num1767 = height;
42833 float speedX31 = velocity.X * 0.5f;
42834 float speedY30 = velocity.Y * 0.5f;
42835 newColor = default(Color);
42836 int num605 = Dust.NewDust(val98, num1766, num1767, 261, speedX31, speedY30, 90, newColor, 2.5f);
42837 Main.dust[num605].noGravity = true;
42838 Main.dust[num605].fadeIn = 1f;
42839 Dust dust28 = Main.dust[num605];
42840 Dust dust87 = dust28;
42841 dust87.velocity *= 4f;
42842 Main.dust[num605].noLight = true;
42843 }
42844 }
42845 for (int num606 = 0; num606 < 2; num606++)
42846 {
42847 if (Main.rand.Next(10 - (int)Math.Min(7f, ((Vector2)(ref velocity)).Length())) < 1)
42848 {
42849 Vector2 val99 = position;
42850 int num1768 = width;
42851 int num1769 = height;
42852 float speedX32 = velocity.X * 0.5f;
42853 float speedY31 = velocity.Y * 0.5f;
42854 newColor = default(Color);
42855 int num607 = Dust.NewDust(val99, num1768, num1769, 261, speedX32, speedY31, 90, newColor, 2.5f);
42856 Main.dust[num607].noGravity = true;
42857 Dust dust29 = Main.dust[num607];
42858 Dust dust87 = dust29;
42859 dust87.velocity *= 0.2f;
42860 Main.dust[num607].fadeIn = 0.4f;
42861 if (Main.rand.Next(6) == 0)
42862 {
42863 dust29 = Main.dust[num607];
42864 dust87 = dust29;
42865 dust87.velocity *= 5f;
42866 Main.dust[num607].noLight = true;
42867 }
42868 else
42869 {
42870 Main.dust[num607].velocity = DirectionFrom(Main.dust[num607].position) * ((Vector2)(ref Main.dust[num607].velocity)).Length();
42871 }
42872 }
42873 }
42874 if (this.ai[0] >= 0f)
42875 {
42876 this.ai[0]++;
42877 if (this.ai[0] > 60f)
42878 {
42879 Vector2 spinningpoint38 = velocity;
42880 double radians32 = this.ai[1];
42881 val29 = default(Vector2);
42883 }
42884 if (this.ai[0] > 120f)
42885 {
42886 velocity *= 0.98f;
42887 }
42888 if (((Vector2)(ref velocity)).Length() < 0.2f)
42889 {
42890 velocity = Vector2.Zero;
42891 }
42892 }
42893 }
42894 else if (aiStyle == 101)
42895 {
42896 float num608 = 420f;
42897 float num609 = 120f;
42898 int num610 = 1;
42899 float value3 = 0f;
42900 float value4 = 1f;
42901 float num611 = 4f;
42902 bool flag109 = !(this.ai[1] >= 0f) || !Main.npc[(int)this.ai[0]].active;
42903 if (Main.npc[(int)this.ai[0]].type == 439)
42904 {
42905 if (Main.npc[(int)this.ai[0]].life < Main.npc[(int)this.ai[0]].lifeMax / 2)
42906 {
42907 num610 = 2;
42908 }
42909 if (Main.npc[(int)this.ai[0]].life < Main.npc[(int)this.ai[0]].lifeMax / 4)
42910 {
42911 num610 = 3;
42912 }
42913 }
42914 else
42915 {
42916 flag109 = true;
42917 }
42918 this.ai[1] += num610;
42919 float num612 = this.ai[1] / num609;
42920 num612 = MathHelper.Clamp(num612, 0f, 1f);
42921 position = base.Center;
42923 base.Center = position;
42924 alpha = (int)(255f - num612 * 255f);
42925 if (Main.rand.Next(6) == 0)
42926 {
42927 Vector2 vector220 = Vector2.UnitY.RotatedByRandom(6.2831854820251465);
42928 Dust[] dust103 = Main.dust;
42929 Vector2 val100 = base.Center - vector220 * 20f;
42930 newColor = default(Color);
42931 Dust dust72 = dust103[Dust.NewDust(val100, 0, 0, 27, 0f, 0f, 0, newColor)];
42932 dust72.noGravity = true;
42933 dust72.position = base.Center - vector220 * (float)Main.rand.Next(10, 21) * scale;
42934 val29 = default(Vector2);
42935 dust72.velocity = vector220.RotatedBy(1.5707963705062866, val29) * 4f;
42936 dust72.scale = 0.5f + Main.rand.NextFloat();
42937 dust72.fadeIn = 0.5f;
42938 }
42939 if (Main.rand.Next(6) == 0)
42940 {
42941 Vector2 vector221 = Vector2.UnitY.RotatedByRandom(6.2831854820251465);
42942 Dust[] dust104 = Main.dust;
42943 Vector2 val101 = base.Center - vector221 * 30f;
42944 newColor = default(Color);
42945 Dust dust73 = dust104[Dust.NewDust(val101, 0, 0, 240, 0f, 0f, 0, newColor)];
42946 dust73.noGravity = true;
42947 dust73.position = base.Center - vector221 * 20f * scale;
42948 val29 = default(Vector2);
42949 dust73.velocity = vector221.RotatedBy(-1.5707963705062866, val29) * 2f;
42950 dust73.scale = 0.5f + Main.rand.NextFloat();
42951 dust73.fadeIn = 0.5f;
42952 }
42953 if (Main.rand.Next(6) == 0)
42954 {
42955 Vector2 vector222 = Vector2.UnitY.RotatedByRandom(6.2831854820251465);
42956 Dust[] dust105 = Main.dust;
42957 Vector2 val102 = base.Center - vector222 * 30f;
42958 newColor = default(Color);
42959 Dust dust74 = dust105[Dust.NewDust(val102, 0, 0, 240, 0f, 0f, 0, newColor)];
42960 dust74.position = base.Center - vector222 * 20f * scale;
42961 dust74.velocity = Vector2.Zero;
42962 dust74.scale = 0.5f + Main.rand.NextFloat();
42963 dust74.fadeIn = 0.5f;
42964 dust74.noLight = true;
42965 }
42966 localAI[0] += (float)Math.PI / 60f;
42967 float[] array6 = localAI;
42968 Vector2 unitY6 = Vector2.UnitY;
42969 double radians33 = this.ai[1] * ((float)Math.PI * 2f) / 60f;
42970 val29 = default(Vector2);
42971 array6[1] = 0.25f + unitY6.RotatedBy(radians33, val29).Y * 0.25f;
42972 if (this.ai[1] >= num608)
42973 {
42974 flag109 = true;
42975 if (Main.netMode != 1)
42976 {
42977 for (int num614 = 0; num614 < 4; num614++)
42978 {
42979 Vector2 spinningpoint39 = new Vector2(0f, 0f - num611);
42980 double radians34 = (float)Math.PI / 2f * (float)num614;
42981 val29 = default(Vector2);
42982 Vector2 vector225 = Utils.RotatedBy(spinningpoint39, radians34, val29);
42983 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), base.Center.X, base.Center.Y, vector225.X, vector225.Y, 593, damage, 0f, Main.myPlayer);
42984 }
42985 }
42986 }
42987 if (flag109)
42988 {
42989 HitEffect(0, 9999.0);
42990 active = false;
42991 }
42992 }
42993 else if (aiStyle == 102)
42994 {
42995 bool flag110 = false;
42996 bool flag111 = false;
42997 bool flag3 = true;
42998 bool flag4 = false;
42999 int num615 = 4;
43000 int num616 = 3;
43001 int num617 = 0;
43002 float num618 = 0.2f;
43003 float num619 = 2f;
43004 float num620 = -0.2f;
43005 float num621 = -4f;
43006 bool flag5 = true;
43007 float num622 = 2f;
43008 float num623 = 0.1f;
43009 float num625 = 1f;
43010 float num626 = 0.04f;
43011 bool flag6 = false;
43012 float num627 = 0.96f;
43013 bool flag7 = true;
43014 if (type == 541)
43015 {
43016 flag5 = false;
43017 rotation = velocity.X * 0.04f;
43018 spriteDirection = ((direction > 0) ? 1 : (-1));
43019 num617 = 3;
43020 num620 = -0.1f;
43021 num618 = 0.1f;
43022 float num628 = (float)life / (float)lifeMax;
43023 num622 += (1f - num628) * 2f;
43024 num623 += (1f - num628) * 0.02f;
43025 if (num628 < 0.5f)
43026 {
43027 knockBackResist = 0f;
43028 }
43030 Vector2 vector226 = base.BottomLeft + new Vector2(0f, -12f);
43031 Vector2 bottomRight = base.BottomRight;
43032 Vector2 vector227 = default(Vector2);
43033 ((Vector2)(ref vector227))._002Ector((float)(-spriteDirection * 10), -4f);
43034 Color color = new Color(222, 108, 48) * 0.7f;
43035 float num629 = -0.3f + MathHelper.Max(velocity.Y * 2f, 0f);
43036 int num630 = 0;
43037 int topY;
43038 while (num630 < 2)
43039 {
43040 if (Main.rand.Next(2) != 0)
43041 {
43042 Dust[] dust106 = Main.dust;
43043 Vector2 bottom2 = base.Bottom;
43044 newColor = default(Color);
43045 Dust dust75 = dust106[Dust.NewDust(bottom2, 0, 0, 268, 0f, 0f, 0, newColor)];
43046 dust75.position = new Vector2(MathHelper.Lerp(vector226.X, bottomRight.X, Main.rand.NextFloat()), MathHelper.Lerp(vector226.Y, bottomRight.Y, Main.rand.NextFloat())) + vector227;
43047 if (num630 == 1)
43048 {
43049 dust75.position = base.Bottom + Utils.RandomVector2(Main.rand, -6f, 6f);
43050 }
43051 dust75.color = color;
43052 dust75.scale = 0.8f;
43053 dust75.velocity.Y += num629;
43054 dust75.velocity.X += (float)spriteDirection * 0.2f;
43055 }
43056 topY = num630++;
43057 }
43059 localAI[2] = 0f;
43060 if (this.ai[0] < 0f)
43061 {
43062 this.ai[0] = MathHelper.Min(this.ai[0] + 1f, 0f);
43063 }
43064 if (this.ai[0] > 0f)
43065 {
43066 flag7 = false;
43067 flag6 = true;
43068 this.ai[0]++;
43069 if (this.ai[0] >= 135f)
43070 {
43071 this.ai[0] = -300f;
43072 netUpdate = true;
43073 }
43074 Vector2 vector228 = base.Center + Vector2.UnitX * (float)direction * 200f;
43075 Vector2 vector229 = base.Center + Vector2.UnitX * (float)direction * 50f - Vector2.UnitY * 6f;
43076 if (this.ai[0] == 54f && Main.netMode != 1)
43077 {
43078 List<Point> list = new List<Point>();
43079 Vector2 vector230 = Main.player[target].Center + new Vector2(Main.player[target].velocity.X * 30f, 0f);
43080 if (Distance(vector230) < 2000f)
43081 {
43082 Point point8 = vector230.ToTileCoordinates();
43083 int num631 = 0;
43084 while (num631 < 1000 && list.Count < 3)
43085 {
43086 bool flag8 = false;
43087 int num632 = Main.rand.Next(point8.X - 30, point8.X + 30 + 1);
43088 foreach (Point item in list)
43089 {
43090 if (Math.Abs(item.X - num632) < 10)
43091 {
43092 flag8 = true;
43093 break;
43094 }
43095 }
43096 if (!flag8)
43097 {
43098 int startY = point8.Y - 20;
43099 Collision.ExpandVertically(num632, startY, out topY, out var bottomY, 1, 51);
43100 if (StrayMethods.CanSpawnSandstormHostile(new Vector2((float)num632, (float)(bottomY - 15)) * 16f, 15, 15))
43101 {
43102 list.Add(new Point(num632, bottomY - 15));
43103 }
43104 }
43105 topY = num631++;
43106 }
43107 foreach (Point item2 in list)
43108 {
43109 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), item2.X * 16, item2.Y * 16, 0f, 0f, 658, 0, 0f, Main.myPlayer);
43110 }
43111 }
43112 else
43113 {
43114 this.ai[0] = -200f;
43115 netUpdate = true;
43116 }
43117 }
43118 Vector2 vector231 = default(Vector2);
43119 ((Vector2)(ref vector231))._002Ector(0.9f, 2f);
43120 if (this.ai[0] < 114f && this.ai[0] > 0f)
43121 {
43123 for (int num633 = 0; num633 < 1000; num633++)
43124 {
43125 Projectile projectile4 = Main.projectile[num633];
43126 if (projectile4.active && projectile4.type == 658)
43127 {
43128 list2.Add(projectile4.Center);
43129 }
43130 }
43131 Vector2 vector232 = default(Vector2);
43132 ((Vector2)(ref vector232))._002Ector(0f, 1500f);
43133 float num634 = (this.ai[0] - 54f) / 30f;
43135 {
43136 foreach (Vector2 item3 in list2)
43137 {
43138 Vector2 value5 = Vector2.CatmullRom(vector229 + vector232, vector229, item3, item3 + vector232, num634);
43139 Vector2 value6 = Vector2.CatmullRom(vector229 + vector232, vector229, item3, item3 + vector232, num634 + 0.05f);
43140 float num636 = num634;
43141 if (num636 > 0.5f)
43142 {
43143 num636 = 1f - num636;
43144 }
43145 float num637 = 2f;
43146 if (Vector2.Distance(value5, value6) > 5f)
43147 {
43148 num637 = 3f;
43149 }
43150 if (Vector2.Distance(value5, value6) > 10f)
43151 {
43152 num637 = 4f;
43153 }
43154 for (float num638 = 0f; num638 < num637; num638++)
43155 {
43156 Dust[] dust107 = Main.dust;
43157 newColor = default(Color);
43158 Dust dust76 = dust107[Dust.NewDust(vector229, 0, 0, 269, 0f, 0f, 0, newColor)];
43159 dust76.position = Vector2.Lerp(value5, value6, num638 / num637) + Utils.RandomVector2(Main.rand, -2f, 2f);
43160 dust76.noLight = true;
43161 dust76.scale = 0.3f + num634;
43162 }
43163 }
43164 }
43165 }
43166 _ = this.ai[0];
43167 }
43168 if (this.ai[0] == 0f)
43169 {
43170 this.ai[0] = 1f;
43171 netUpdate = true;
43172 flag6 = true;
43173 }
43174 }
43175 if (justHit)
43176 {
43177 localAI[2] = 0f;
43178 }
43179 if (!flag111)
43180 {
43181 if (localAI[2] >= 0f)
43182 {
43183 float num639 = 16f;
43184 bool flag9 = false;
43185 bool flag10 = false;
43186 if (position.X > localAI[0] - num639 && position.X < localAI[0] + num639)
43187 {
43188 flag9 = true;
43189 }
43190 else if ((velocity.X < 0f && direction > 0) || (velocity.X > 0f && direction < 0))
43191 {
43192 flag9 = true;
43193 num639 += 24f;
43194 }
43195 if (position.Y > localAI[1] - num639 && position.Y < localAI[1] + num639)
43196 {
43197 flag10 = true;
43198 }
43199 if (flag9 && flag10)
43200 {
43201 localAI[2] += 1f;
43202 if (localAI[2] >= 30f && num639 == 16f)
43203 {
43204 flag110 = true;
43205 }
43206 if (localAI[2] >= 60f)
43207 {
43208 localAI[2] = -180f;
43209 direction *= -1;
43210 velocity.X *= -1f;
43211 collideX = false;
43212 }
43213 }
43214 else
43215 {
43216 localAI[0] = position.X;
43217 localAI[1] = position.Y;
43218 localAI[2] = 0f;
43219 }
43220 if (flag7)
43221 {
43222 TargetClosest();
43223 }
43224 }
43225 else
43226 {
43227 localAI[2] += 1f;
43228 direction = ((Main.player[target].Center.X > base.Center.X) ? 1 : (-1));
43229 }
43230 }
43231 int num640 = (int)((position.X + (float)(width / 2)) / 16f) + direction * 2;
43232 int num641 = (int)((position.Y + (float)height) / 16f);
43233 int num642 = (int)base.Bottom.Y / 16;
43234 int num643 = (int)base.Bottom.X / 16;
43235 if (flag6)
43236 {
43237 velocity *= num627;
43238 return;
43239 }
43240 for (int num644 = num641; num644 < num641 + num615; num644++)
43241 {
43242 if (Main.tile[num640, num644] == null)
43243 {
43244 Main.tile[num640, num644] = default(Tile);
43245 }
43246 if ((Main.tile[num640, num644].nactive() && Main.tileSolid[Main.tile[num640, num644].type]) || Main.tile[num640, num644].liquid > 0)
43247 {
43248 if (num644 <= num641 + 1)
43249 {
43250 flag4 = true;
43251 }
43252 flag3 = false;
43253 break;
43254 }
43255 }
43256 for (int num645 = num642; num645 < num642 + num617; num645++)
43257 {
43258 if (Main.tile[num643, num645] == null)
43259 {
43260 Main.tile[num643, num645] = default(Tile);
43261 }
43262 if ((Main.tile[num643, num645].nactive() && Main.tileSolid[Main.tile[num643, num645].type]) || Main.tile[num643, num645].liquid > 0)
43263 {
43264 flag4 = true;
43265 flag3 = false;
43266 break;
43267 }
43268 }
43269 if (flag5)
43270 {
43271 for (int num647 = num641 - num616; num647 < num641; num647++)
43272 {
43273 if (Main.tile[num640, num647] == null)
43274 {
43275 Main.tile[num640, num647] = default(Tile);
43276 }
43277 if ((Main.tile[num640, num647].nactive() && Main.tileSolid[Main.tile[num640, num647].type]) || Main.tile[num640, num647].liquid > 0)
43278 {
43279 flag4 = false;
43280 flag110 = true;
43281 break;
43282 }
43283 }
43284 }
43285 if (flag110)
43286 {
43287 flag4 = false;
43288 flag3 = true;
43289 }
43290 if (flag3)
43291 {
43292 velocity.Y += num618;
43293 if (velocity.Y > num619)
43294 {
43295 velocity.Y = num619;
43296 }
43297 }
43298 else
43299 {
43301 {
43302 velocity.Y += num620;
43303 }
43304 if (velocity.Y < num621)
43305 {
43306 velocity.Y = num621;
43307 }
43308 }
43309 if (collideX)
43310 {
43311 velocity.X = oldVelocity.X * -0.4f;
43312 if (direction == -1 && velocity.X > 0f && velocity.X < 1f)
43313 {
43314 velocity.X = 1f;
43315 }
43316 if (direction == 1 && velocity.X < 0f && velocity.X > -1f)
43317 {
43318 velocity.X = -1f;
43319 }
43320 }
43321 if (collideY)
43322 {
43323 velocity.Y = oldVelocity.Y * -0.25f;
43324 if (velocity.Y > 0f && velocity.Y < 1f)
43325 {
43326 velocity.Y = 1f;
43327 }
43328 if (velocity.Y < 0f && velocity.Y > -1f)
43329 {
43330 velocity.Y = -1f;
43331 }
43332 }
43333 if (direction == -1 && velocity.X > 0f - num622)
43334 {
43335 velocity.X -= num623;
43336 if (velocity.X > num622)
43337 {
43338 velocity.X -= num623;
43339 }
43340 else if (velocity.X > 0f)
43341 {
43342 velocity.X += num623 / 2f;
43343 }
43344 if (velocity.X < 0f - num622)
43345 {
43346 velocity.X = 0f - num622;
43347 }
43348 }
43349 else if (direction == 1 && velocity.X < num622)
43350 {
43351 velocity.X += num623;
43352 if (velocity.X < 0f - num622)
43353 {
43354 velocity.X += num623;
43355 }
43356 else if (velocity.X < 0f)
43357 {
43358 velocity.X -= num623 / 2f;
43359 }
43360 if (velocity.X > num622)
43361 {
43362 velocity.X = num622;
43363 }
43364 }
43365 if (directionY == -1 && velocity.Y > 0f - num625)
43366 {
43367 velocity.Y -= num626;
43368 if (velocity.Y > num625)
43369 {
43370 velocity.Y -= num626 * 1.25f;
43371 }
43372 else if (velocity.Y > 0f)
43373 {
43374 velocity.Y += num626 * 0.75f;
43375 }
43376 if (velocity.Y < 0f - num625)
43377 {
43378 velocity.Y = 0f - num622;
43379 }
43380 }
43381 else if (directionY == 1 && velocity.Y < num625)
43382 {
43383 velocity.Y += num626;
43384 if (velocity.Y < 0f - num625)
43385 {
43386 velocity.Y += num626 * 1.25f;
43387 }
43388 else if (velocity.Y < 0f)
43389 {
43390 velocity.Y -= num626 * 0.75f;
43391 }
43392 if (velocity.Y > num625)
43393 {
43394 velocity.Y = num625;
43395 }
43396 }
43397 }
43398 else if (aiStyle == 103)
43399 {
43400 if (direction == 0)
43401 {
43402 TargetClosest();
43403 }
43404 bool flag11 = true;
43405 Point pt = base.Center.ToTileCoordinates();
43406 Tile tileSafely7 = Framing.GetTileSafely(pt);
43408 flag11 |= wet;
43409 bool flag12 = false;
43411 Vector2 vector233 = ((Rectangle)(ref targetRect)).Center.ToVector2();
43412 if (Main.player[target].velocity.Y > -0.1f && !Main.player[target].dead && Distance(vector233) > 150f)
43413 {
43414 flag12 = true;
43415 }
43416 if (localAI[0] == -1f && !flag11)
43417 {
43418 localAI[0] = 20f;
43419 }
43420 if (localAI[0] > 0f)
43421 {
43422 localAI[0]--;
43423 }
43424 if (flag11)
43425 {
43426 if (soundDelay == 0)
43427 {
43428 float num648 = Distance(vector233) / 40f;
43429 if (num648 < 10f)
43430 {
43431 num648 = 10f;
43432 }
43433 if (num648 > 20f)
43434 {
43435 num648 = 20f;
43436 }
43437 soundDelay = (int)num648;
43438 SoundEngine.PlaySound(15, base.Center, 4);
43439 }
43440 float num649 = this.ai[1];
43441 bool flag14 = false;
43442 pt = (base.Center + new Vector2(0f, 24f)).ToTileCoordinates();
43443 tileSafely7 = Framing.GetTileSafely(pt.X, pt.Y - 2);
43445 {
43446 flag14 = true;
43447 }
43448 this.ai[1] = flag14.ToInt();
43449 if (this.ai[2] < 30f)
43450 {
43451 this.ai[2]++;
43452 }
43453 if (flag12)
43454 {
43455 TargetClosest();
43456 velocity.X += (float)direction * 0.15f;
43457 velocity.Y += (float)directionY * 0.15f;
43458 if (velocity.X > 5f)
43459 {
43460 velocity.X = 5f;
43461 }
43462 if (velocity.X < -5f)
43463 {
43464 velocity.X = -5f;
43465 }
43466 if (velocity.Y > 3f)
43467 {
43468 velocity.Y = 3f;
43469 }
43470 if (velocity.Y < -3f)
43471 {
43472 velocity.Y = -3f;
43473 }
43474 Vector2 center44 = base.Center;
43475 Vector2 val103 = velocity.SafeNormalize(Vector2.Zero);
43476 val29 = base.Size;
43477 Vector2 vec4 = center44 + val103 * ((Vector2)(ref val29)).Length() / 2f + velocity;
43478 pt = vec4.ToTileCoordinates();
43479 tileSafely7 = Framing.GetTileSafely(pt);
43481 if (!flag15 && wet)
43482 {
43483 flag15 = tileSafely7.liquid > 0;
43484 }
43485 int num650 = 400;
43486 if (Main.remixWorld)
43487 {
43488 num650 = 700;
43489 }
43490 if (!flag15 && Math.Sign(velocity.X) == direction && Distance(vector233) < (float)num650 && (this.ai[2] >= 30f || this.ai[2] < 0f))
43491 {
43492 if (localAI[0] == 0f)
43493 {
43494 SoundEngine.PlaySound(14, base.Center, 542);
43495 localAI[0] = -1f;
43496 }
43497 this.ai[2] = -30f;
43498 Vector2 vector234 = DirectionTo(vector233 + new Vector2(0f, -80f));
43499 velocity = vector234 * 12f;
43500 }
43501 }
43502 else
43503 {
43504 if (collideX)
43505 {
43506 velocity.X *= -1f;
43507 direction *= -1;
43508 netUpdate = true;
43509 }
43510 if (collideY)
43511 {
43512 netUpdate = true;
43513 velocity.Y *= -1f;
43514 directionY = Math.Sign(velocity.Y);
43515 this.ai[0] = directionY;
43516 }
43517 float num651 = 6f;
43518 velocity.X += (float)direction * 0.1f;
43519 if (velocity.X < 0f - num651 || velocity.X > num651)
43520 {
43521 velocity.X *= 0.95f;
43522 }
43523 if (flag14)
43524 {
43525 this.ai[0] = -1f;
43526 }
43527 else
43528 {
43529 this.ai[0] = 1f;
43530 }
43531 float num652 = 0.06f;
43532 float num653 = 0.01f;
43533 if (this.ai[0] == -1f)
43534 {
43535 velocity.Y -= num653;
43536 if (velocity.Y < 0f - num652)
43537 {
43538 this.ai[0] = 1f;
43539 }
43540 }
43541 else
43542 {
43543 velocity.Y += num653;
43544 if (velocity.Y > num652)
43545 {
43546 this.ai[0] = -1f;
43547 }
43548 }
43549 if (velocity.Y > 0.4f || velocity.Y < -0.4f)
43550 {
43551 velocity.Y *= 0.95f;
43552 }
43553 }
43554 }
43555 else
43556 {
43557 if (velocity.Y == 0f)
43558 {
43559 if (flag12)
43560 {
43561 TargetClosest();
43562 }
43563 float num654 = 1f;
43564 velocity.X += (float)direction * 0.1f;
43565 if (velocity.X < 0f - num654 || velocity.X > num654)
43566 {
43567 velocity.X *= 0.95f;
43568 }
43569 }
43570 velocity.Y += 0.3f;
43571 if (velocity.Y > 10f)
43572 {
43573 velocity.Y = 10f;
43574 }
43575 this.ai[0] = 1f;
43576 }
43577 rotation = velocity.Y * (float)direction * 0.1f;
43578 if (rotation < -0.2f)
43579 {
43580 rotation = -0.2f;
43581 }
43582 if (rotation > 0.2f)
43583 {
43584 rotation = 0.2f;
43585 }
43586 }
43587 else if (aiStyle == 104)
43588 {
43589 active = false;
43590 }
43591 else if (aiStyle == 105)
43592 {
43593 if (alpha == 0)
43594 {
43595 Lighting.AddLight(base.Center, 1.3f, 0.5f, 1.5f);
43596 }
43597 if (this.ai[1] == 0f)
43598 {
43599 if (this.ai[0] > 0f)
43600 {
43601 this.ai[0]--;
43602 }
43603 if (this.ai[0] != 0f)
43604 {
43605 return;
43606 }
43607 this.ai[0] = 180f;
43608 netUpdate = true;
43609 if (localAI[0] == 0f)
43610 {
43611 StrayMethods.CheckArenaScore(base.Bottom, out var xLeftEnd, out var xRightEnd);
43612 localAI[0] = 1f;
43613 xLeftEnd.X += 2;
43614 xRightEnd.X -= 2;
43616 Main.npc[num655].Bottom = xLeftEnd.ToWorldCoordinates(8f, 16f);
43618 Main.npc[num655].Bottom = xRightEnd.ToWorldCoordinates(8f, 16f);
43619 if (Main.netMode != 1)
43620 {
43622 }
43623 }
43624 }
43625 else if (this.ai[1] == 2f)
43626 {
43628 life = lifeMax;
43629 if (this.ai[0] == 3f)
43630 {
43632 for (int num656 = 0; num656 < 200; num656++)
43633 {
43634 NPC nPC3 = Main.npc[num656];
43635 if (nPC3.active && nPC3.type == 549)
43636 {
43637 nPC3.ai[1] = 1f;
43638 nPC3.ai[0] = 0f;
43639 nPC3.netUpdate = true;
43640 }
43641 }
43642 if (Main.netMode != 1)
43643 {
43644 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), base.Center - Vector2.UnitY * 40f, Vector2.Zero, 713, 0, 0f, Main.myPlayer);
43645 }
43646 }
43647 this.ai[0]++;
43648 noGravity = true;
43649 if (this.ai[0] <= 120f)
43650 {
43651 float num658 = this.ai[0] / 120f;
43652 velocity.Y = (float)Math.Cos(num658 * ((float)Math.PI * 2f)) * 0.25f - 0.25f;
43653 }
43654 else
43655 {
43656 velocity.Y = 0f;
43657 }
43658 float lerpValue = Utils.GetLerpValue(480f, 570f, this.ai[0], clamped: true);
43659 if (lerpValue != 0f)
43660 {
43662 }
43663 if (this.ai[0] >= 600f)
43664 {
43666 dontTakeDamage = false;
43667 life = 0;
43668 checkDead();
43669 netUpdate = true;
43670 }
43671 Vector2 vector236 = base.Center + new Vector2(0f, -20f);
43672 float num659 = 0.99f;
43673 if (this.ai[0] >= 60f)
43674 {
43675 num659 = 0.79f;
43676 }
43677 if (this.ai[0] >= 120f)
43678 {
43679 num659 = 0.58f;
43680 }
43681 if (this.ai[0] >= 180f)
43682 {
43683 num659 = 0.43f;
43684 }
43685 if (this.ai[0] >= 240f)
43686 {
43687 num659 = 0.33f;
43688 }
43689 if (this.ai[0] >= 540f)
43690 {
43691 num659 = 1f;
43692 }
43693 for (int num660 = 0; num660 < 9; num660++)
43694 {
43695 if (!(Main.rand.NextFloat() < num659))
43696 {
43697 float num661 = Main.rand.NextFloat() * ((float)Math.PI * 2f);
43698 float num662 = Main.rand.NextFloat();
43699 Vector2 vector237 = vector236 + num661.ToRotationVector2() * (110f + 600f * num662);
43700 Vector2 vector238 = (num661 - (float)Math.PI).ToRotationVector2() * (14f + 0f * Main.rand.NextFloat() + 8f * num662);
43701 Vector2? val104 = vector238;
43702 newColor = default(Color);
43703 Dust dust77 = Dust.NewDustPerfect(vector237, 264, val104, 0, newColor);
43704 dust77.scale = 0.9f;
43705 dust77.fadeIn = 1.15f + num662 * 0.3f;
43706 dust77.color = new Color(1f, 1f, 1f, num659) * (1f - num659);
43707 dust77.noGravity = true;
43708 dust77.noLight = true;
43709 }
43710 }
43711 if (this.ai[0] == 100f || this.ai[0] == 160f || this.ai[0] == 220f || this.ai[0] == 280f || this.ai[0] == 340f || this.ai[0] == 370f || this.ai[0] == 400f || this.ai[0] == 430f || this.ai[0] == 460f || this.ai[0] == 500f || this.ai[0] == 520f || this.ai[0] == 540f)
43712 {
43713 float num663 = Main.rand.NextFloat() * ((float)Math.PI * 2f);
43714 float num664 = 120f;
43715 for (int num665 = 0; (float)num665 < num664; num665++)
43716 {
43717 float num666 = (float)num665 / num664 * ((float)Math.PI * 2f);
43718 float num667 = Main.rand.NextFloat();
43719 Vector2 vector239 = base.Center + new Vector2(0f, -20f) + num666.ToRotationVector2() * (810f - this.ai[0]);
43720 Vector2 vector240 = (num666 - (float)Math.PI).ToRotationVector2() * (14f + 5f * (this.ai[0] / 600f) + 8f * num667);
43721 Vector2? val105 = vector240;
43722 newColor = default(Color);
43723 Dust dust78 = Dust.NewDustPerfect(vector239, 264, val105, 0, newColor);
43724 dust78.scale = 0.9f;
43725 dust78.fadeIn = 1.15f + num667 * 0.3f;
43726 dust78.color = new Color(1f, 1f, 1f, 0f);
43727 dust78.noGravity = true;
43728 dust78.noLight = true;
43729 }
43730 }
43731 }
43732 else
43733 {
43734 if (this.ai[1] != 1f)
43735 {
43736 return;
43737 }
43739 life = lifeMax;
43740 if (this.ai[0] == 0f)
43741 {
43742 for (int num670 = 0; num670 < 200; num670++)
43743 {
43744 NPC nPC4 = Main.npc[num670];
43745 if (nPC4.active && nPC4.type == 549)
43746 {
43747 nPC4.ai[1] = 1f;
43748 nPC4.ai[0] = 0f;
43749 nPC4.netUpdate = true;
43750 }
43751 }
43752 if (Main.netMode != 1)
43753 {
43755 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), base.Center - Vector2.UnitY * 40f, Vector2.Zero, 672, 0, 0f, Main.myPlayer);
43756 }
43757 }
43758 this.ai[0]++;
43759 float lerpValue2 = Utils.GetLerpValue(480f, 600f, this.ai[0], clamped: true);
43760 if (lerpValue2 != 0f)
43761 {
43763 }
43764 float num671 = 96f;
43765 if (this.ai[0] < num671)
43766 {
43767 velocity.Y = MathHelper.Lerp(0f, -1f, this.ai[0] / num671);
43768 }
43769 if (this.ai[0] >= num671)
43770 {
43771 alpha += 50;
43772 if (alpha > 255)
43773 {
43774 alpha = 255;
43775 }
43776 }
43777 Vector2 vector241 = base.Center + new Vector2(0f, MathHelper.Lerp(0f, -70f, Utils.GetLerpValue(0f, 300f, this.ai[0], clamped: true)));
43778 float num672 = 0.99f;
43779 if (this.ai[0] >= 60f)
43780 {
43781 num672 = 0.79f;
43782 }
43783 if (this.ai[0] >= 120f)
43784 {
43785 num672 = 0.58f;
43786 }
43787 if (this.ai[0] >= 180f)
43788 {
43789 num672 = 0.23f;
43790 }
43791 if (this.ai[0] >= 240f)
43792 {
43793 num672 = 0.35f;
43794 }
43795 if (this.ai[0] >= 300f)
43796 {
43797 num672 = 0.6f;
43798 }
43799 if (this.ai[0] >= 360f)
43800 {
43801 num672 = 0.98f;
43802 }
43803 if (this.ai[0] >= 420f)
43804 {
43805 num672 = 0.995f;
43806 }
43807 if (this.ai[0] >= 450f)
43808 {
43809 num672 = 1f;
43810 }
43811 for (int num673 = 0; num673 < 12; num673++)
43812 {
43813 if (!(Main.rand.NextFloat() < num672))
43814 {
43815 float num674 = Main.rand.NextFloat() * ((float)Math.PI * 2f);
43816 float num675 = Main.rand.NextFloat();
43817 Vector2 vector242 = vector241 + num674.ToRotationVector2() * (70f + 600f * num675);
43818 Vector2 vector243 = (num674 - (float)Math.PI / 2f - (float)Math.PI / 8f).ToRotationVector2() * (12f + 9f * Main.rand.NextFloat() + 4f * num675);
43819 Vector2? val106 = vector243;
43820 newColor = default(Color);
43821 Dust dust79 = Dust.NewDustPerfect(vector242, 240, val106, 0, newColor);
43822 dust79.scale = 0.8f;
43823 dust79.fadeIn = 0.95f + num675 * 0.3f;
43824 dust79.noGravity = true;
43825 }
43826 }
43827 if (this.ai[0] >= 600f)
43828 {
43830 if (!Main.dedServ)
43831 {
43832 Filters.Scene.Deactivate("CrystalDestructionVortex");
43833 Filters.Scene.Deactivate("CrystalDestructionColor");
43834 Filters.Scene.Deactivate("CrystalWin");
43835 }
43836 dontTakeDamage = false;
43837 life = 0;
43838 checkDead();
43839 netUpdate = true;
43840 }
43841 }
43842 }
43843 else if (aiStyle == 106)
43844 {
43845 if (alpha == 0)
43846 {
43847 Lighting.AddLight(base.Center, 0.5f, 0.1f, 0.3f);
43848 }
43849 if (this.ai[1] == 0f)
43850 {
43851 if (localAI[0] == 0f)
43852 {
43854 localAI[3] = SlotId.Invalid.ToFloat();
43855 }
43856 if (localAI[0] > 150f)
43857 {
43859 if (activeSound == null)
43860 {
43862 }
43863 }
43865 {
43866 this.ai[0]++;
43867 }
43868 if (this.ai[0] >= (float)DD2Event.LaneSpawnRate)
43869 {
43870 if (this.ai[0] >= (float)(DD2Event.LaneSpawnRate * 3))
43871 {
43872 this.ai[0] = 0f;
43873 }
43874 netUpdate = true;
43875 if (Main.netMode != 1 && (int)this.ai[0] % DD2Event.LaneSpawnRate == 0)
43876 {
43879 {
43880 this.ai[0] += 1f;
43881 }
43882 }
43883 }
43884 localAI[0]++;
43885 if (localAI[0] > 180f)
43886 {
43887 localAI[0] = 180f;
43888 }
43889 if (Main.netMode != 1 && localAI[0] >= 180f)
43890 {
43891 if (AnyNPCs(548))
43892 {
43893 dontTakeDamage = true;
43894 return;
43895 }
43896 this.ai[1] = 1f;
43897 this.ai[0] = 0f;
43898 dontTakeDamage = true;
43899 }
43900 }
43901 else if (this.ai[1] == 1f)
43902 {
43903 this.ai[0]++;
43904 scale = MathHelper.Lerp(1f, 0.05f, Utils.GetLerpValue(500f, 600f, this.ai[0], clamped: true));
43906 if (activeSound2 == null)
43907 {
43909 }
43911 if (activeSound2 != null)
43912 {
43913 activeSound2.Volume = scale;
43914 }
43915 if (this.ai[0] >= 550f)
43916 {
43917 dontTakeDamage = false;
43918 life = 0;
43919 checkDead();
43920 netUpdate = true;
43921 activeSound2?.Stop();
43922 }
43923 }
43924 }
43925 else if (aiStyle == 107)
43926 {
43928 }
43929 else if (aiStyle == 108)
43930 {
43932 }
43933 else if (aiStyle == 109)
43934 {
43936 }
43937 else if (aiStyle == 110)
43938 {
43939 AI_110_Betsy();
43940 }
43941 else if (aiStyle == 111)
43942 {
43944 }
43945 else if (aiStyle == 112)
43946 {
43948 }
43949 else if (aiStyle == 113)
43950 {
43952 }
43953 else if (aiStyle == 114)
43954 {
43956 }
43957 else if (aiStyle == 115)
43958 {
43960 }
43961 else if (aiStyle == 116)
43962 {
43964 }
43965 else if (aiStyle == 117)
43966 {
43968 }
43969 else if (aiStyle == 118)
43970 {
43972 }
43973 else if (aiStyle == 119)
43974 {
43976 }
43977 else if (aiStyle == 120)
43978 {
43980 }
43981 else if (aiStyle == 121)
43982 {
43984 }
43985 else if (aiStyle == 122)
43986 {
43988 }
43989 else if (aiStyle == 123)
43990 {
43992 }
43993 else if (aiStyle == 124)
43994 {
43996 }
43997 else if (aiStyle == 125)
43998 {
44000 }
44001 }
static ? ActiveSound GetActiveSound(SlotId slotId)
static SlotId PlayTrackedSound(in SoundStyle style, Vector2? position=null)
static SlotId PlaySound(in SoundStyle? style, Vector2? position=null, SoundUpdateCallback? updateCallback=null)
Attempts to play a sound style with the provided sound style (if it's not null), and returns a valid ...
static Dictionary< int, TileEntity > ByID
Definition TileEntity.cs:20
bool wet
The Entity is currently in water. Projectile: Affects movement speed and some projectiles die when ...
Definition Entity.cs:57
Vector2 DirectionFrom(Vector2 Source)
Definition Entity.cs:298
Vector2 oldPosition
Definition Entity.cs:35
Vector2 Center
Definition Entity.cs:70
int whoAmI
The index of this Entity within its specific array. These arrays track the entities in the world....
Definition Entity.cs:16
Vector2 Bottom
Definition Entity.cs:170
Vector2 velocity
The velocity of this Entity in world coordinates per tick.
Definition Entity.cs:33
float Distance(Vector2 Other)
Definition Entity.cs:275
Vector2 position
The position of this Entity in world coordinates.
Definition Entity.cs:28
Vector2 oldVelocity
Definition Entity.cs:37
int width
The width of this Entity's hitbox, in pixels.
Definition Entity.cs:46
Vector2 DirectionTo(Vector2 Destination)
Definition Entity.cs:289
bool active
If true, the Entity actually exists within the game world. Within the specific entity array,...
Definition Entity.cs:21
int height
The height of this Entity's hitbox, in pixels.
Definition Entity.cs:51
static bool CheckFloor(Vector2 Center, out Point[] spawnPoints)
static void SpawnMonsterFromGate(Vector2 gateBottom)
Definition DD2Event.cs:527
static void StopInvasion(bool win=false)
Definition DD2Event.cs:269
static void RequestLight(float light, Vector2 spot)
static FilterManager Scene
Definition Filters.cs:5
static readonly SoundStyle NPCDeath58
Definition SoundID.cs:659
static readonly SoundStyle DD2_WinScene
Definition SoundID.cs:199
static readonly SoundStyle Item5
Definition SoundID.cs:687
static readonly SoundStyle DD2_EtherianPortalIdleLoop
Definition SoundID.cs:189
static readonly SoundStyle Item17
Definition SoundID.cs:711
static readonly SoundStyle Item14
Definition SoundID.cs:705
static readonly SoundStyle NPCHit4
Definition SoundID.cs:435
static readonly SoundStyle Item8
Definition SoundID.cs:693
static readonly SoundStyle NPCHit15
Definition SoundID.cs:457
static readonly SoundStyle NPCDeath61
Definition SoundID.cs:665
static readonly SoundStyle Item12
Definition SoundID.cs:701
static readonly SoundStyle NPCDeath3
Definition SoundID.cs:549
static readonly SoundStyle Item39
Definition SoundID.cs:755
static readonly SoundStyle DD2_EtherianPortalOpen
Definition SoundID.cs:191
static readonly SoundStyle Item34
Definition SoundID.cs:745
static readonly SoundStyle NPCHit17
Definition SoundID.cs:461
static readonly SoundStyle NPCHit16
Definition SoundID.cs:459
static bool[] Platforms
Definition TileID.cs:219
Vector2 netOffset
Definition NPC.cs:502
void AI_114_Dragonflies()
Definition NPC.cs:49805
void AI_117_BloodNautilus()
Definition NPC.cs:48795
void AI_026_Unicorns()
Definition NPC.cs:66382
int timeLeft
Definition NPC.cs:1017
float GetMyBalance()
Definition NPC.cs:13190
void HealEffect(int healAmount, bool broadcast=true)
Definition NPC.cs:82868
int netSpam
Definition NPC.cs:466
void AI_003_Fighters()
Definition NPC.cs:59421
int defense
How resistant to damage this NPC is. The List of NPCs wiki pagecan be useful for finding appropriat...
Definition NPC.cs:1033
void AI_110_Betsy()
Definition NPC.cs:65732
int damage
The amount of contact damage this NPC deals. Changing this WILL NOT change the amount of damage done...
Definition NPC.cs:1027
static int CountNPCS(int Type)
Returns the number of active NPC in the world of the given NPC type (F:Terraria.NPC....
Definition NPC.cs:106585
float[] localAI
Acts like F:Terraria.NPC.ai, but does not sync to the server. Many vanilla T:Terraria....
Definition NPC.cs:1003
int spriteDirection
Definition NPC.cs:1143
float Opacity
Definition NPC.cs:1517
bool confused
Definition NPC.cs:692
void AI_107_ImprovedWalkers()
Definition NPC.cs:67051
void DiscourageDespawn(int despawnTime)
Definition NPC.cs:2208
static int ShieldStrengthTowerNebula
Definition NPC.cs:928
void EncourageDespawn(int despawnTime)
Definition NPC.cs:2199
void AI_045_Golem()
Definition NPC.cs:14377
int aiAction
Definition NPC.cs:1005
void AI_001_Slimes()
Definition NPC.cs:64728
static int ShieldStrengthTowerSolar
Definition NPC.cs:924
void AI_108_DivingFlyer()
Definition NPC.cs:70432
bool reflectsProjectiles
Definition NPC.cs:1213
int lifeMax
The maximum life of this NPC.
Definition NPC.cs:1077
static int crimsonBoss
Definition NPC.cs:590
void AI_109_DarkMage()
Definition NPC.cs:71045
float gfxOffY
An offset from the actual position of the npc that will be added to the draw position....
Definition NPC.cs:549
void AI_120_HallowBoss()
Definition NPC.cs:46942
void TargetClosest(bool faceTarget=true)
Definition NPC.cs:83247
int aiStyle
Selects which vanilla code to use for the AI method. Vanilla NPC AI styles are enumerated in the T:Te...
Definition NPC.cs:1013
static readonly int[,] MoonLordAttacksArray2
Definition NPC.cs:446
static int FindFirstNPC(int Type)
Returns the index within F:Terraria.Main.npc of the the first active NPC in the world of the given NP...
Definition NPC.cs:106632
Rectangle getRect()
Definition NPC.cs:106798
bool hide
Indicates that this NPC is drawn at a specific layer in the render order. Must use in conjunction wit...
Definition NPC.cs:1098
void GetShimmered()
Definition NPC.cs:108508
void AI_111_DD2LightningBug()
Definition NPC.cs:71512
void AI_112_FairyCritter()
Definition NPC.cs:50288
void AI_87_BigMimic_FireStuffCannonBurst()
Definition NPC.cs:45379
bool dontTakeDamageFromHostiles
Definition NPC.cs:718
bool noGravity
If true, the npc will not be affected by gravity. Demon Eyes and other floating npc use this....
Definition NPC.cs:1122
void TargetClosest_WOF(bool faceTarget=true)
Definition NPC.cs:83263
int defDefense
Stores the value of F:Terraria.NPC.defense at the end of SetDefaults. Useful for scaling defense in A...
Definition NPC.cs:1043
void PopAllAttachedProjectilesAndTakeDamageForThem()
Definition NPC.cs:13798
float[] ai
An array with 4 slots used for any sort of data storage, which is occasionally synced from the server...
Definition NPC.cs:997
Rectangle targetRect
Definition NPC.cs:1079
void AI_002_FloatingEye()
Definition NPC.cs:55518
float knockBackResist
How much of the knockback it receives will actually apply. 1f: full knockback; 0f: no knockback....
Definition NPC.cs:1110
bool dontTakeDamage
Definition NPC.cs:1160
static int ShieldStrengthTowerStardust
Definition NPC.cs:930
void AI_047_GolemFist()
Definition NPC.cs:14029
bool friendly
Indicates that an NPC is friendly to players. If true, a player won't damage the NPC and the NPC won'...
Definition NPC.cs:1197
void AI_007_TownEntities()
Definition NPC.cs:56255
static int ShieldStrengthTowerVortex
Definition NPC.cs:926
float stepSpeed
Has nothing to do with the speed that this NPC travels, that is dictated by AI code adjusting F:Terra...
Definition NPC.cs:554
float value
How many copper coins the NPC will drop when killed (100 copper coins = 1 silver coin etc....
Definition NPC.cs:1156
static bool IsMechQueenUp
Definition NPC.cs:1541
void AI_065_Butterflies()
Definition NPC.cs:45500
float scale
Makes the NPC bigger or smaller. Bigger than 1f is bigger. Defaults to 1f.
Definition NPC.cs:1104
void AI_119_Dandelion()
Definition NPC.cs:48614
bool collideX
Definition NPC.cs:1134
bool collideY
Definition NPC.cs:1136
static bool AnyNPCs(int Type)
Returns true if there are any active NPC in the world of the given NPC type (F:Terraria....
Definition NPC.cs:106615
int type
The NPC ID of this NPC. The NPC ID is a unique number assigned to each NPC loaded into the game....
Definition NPC.cs:990
void AI_069_DukeFishron()
Definition NPC.cs:51255
void AI_124_ElderSlimeChest()
Definition NPC.cs:44003
void AI_121_QueenSlime()
Definition NPC.cs:45955
int GetAttackDamage_LerpBetweenFinalValues(float normalDamage, float expertDamage)
Definition NPC.cs:1881
int alpha
0 is opaque, and 255 is transparent. Note that this is the opposite of how alpha is typically express...
Definition NPC.cs:1092
Color color
Definition NPC.cs:1085
IEntitySource GetSpawnSourceForProjectileNPC()
Definition NPC.cs:107563
float rotation
Definition NPC.cs:1116
void AI_122_PirateGhost()
Definition NPC.cs:45421
bool AI_AttemptToFindTeleportSpot(ref Vector2 chosenTile, int targetTileX, int targetTileY, int rangeFromTargetTile=20, int telefragPreventionDistanceInTiles=5, int solidTileCheckFluff=1, bool solidTileCheckCentered=false, bool teleportInAir=false)
Definition NPC.cs:13811
void AI_000_TransformBoundNPC(int playerID, int npcType)
Definition NPC.cs:45489
SoundStyle? HitSound
The sound that plays when this npc is hit. Set this to an existing T:Terraria.ID.SoundID entry or ass...
Definition NPC.cs:1059
double frameCounter
Definition NPC.cs:1081
void AI_125_ClumsySlimeBalloon()
Definition NPC.cs:44008
IEntitySource GetSpawnSourceForNPCFromNPCAI()
Definition NPC.cs:107568
static int NewNPC(IEntitySource source, int X, int Y, int Type, int Start=0, float ai0=0f, float ai1=0f, float ai2=0f, float ai3=0f, int Target=255)
Spawns an NPC into the game world with the given type. This method should not be called on multipla...
Definition NPC.cs:91239
void AI_084_LunaticCultist()
Definition NPC.cs:68990
void AI_116_WaterStriders()
Definition NPC.cs:49579
bool noTileCollide
If true, the npc does not collide with tiles, making the npc pass through tiles freely....
Definition NPC.cs:1128
int defDamage
Stores the value of F:Terraria.NPC.damage at the end of SetDefaults. Useful for scaling damage in AI ...
Definition NPC.cs:1038
void AI_037_Destroyer()
Definition NPC.cs:52583
int GetAttackDamage_ScaledByStrength(float normalDamage)
Definition NPC.cs:1866
void AI_113_WindyBalloon()
Definition NPC.cs:50061
void checkDead()
Definition NPC.cs:83653
int GetAttackDamage_ForProjectiles(float normalDamage, float expertDamage)
Definition NPC.cs:1891
void AI_118_Seahorses()
Definition NPC.cs:48722
bool justHit
Definition NPC.cs:1015
void SpawnStardustMark_StardustTower()
Definition NPC.cs:44155
static bool LunarApocalypseIsUp
Definition NPC.cs:944
void AI_115_LadyBugs()
Definition NPC.cs:49645
static int mechQueen
Definition NPC.cs:1223
void ReflectProjectiles(Rectangle myRect)
Definition NPC.cs:71822
static int golemBoss
Definition NPC.cs:586
void Transform(int newType)
Definition NPC.cs:91590
short releaseOwner
Identifies the player who released this NPC into the world. Used mainly for released critters....
Definition NPC.cs:514
static readonly int[,,,] MoonLordAttacksArray
Definition NPC.cs:444
int life
The current life of the NPC. Automatically set to the value of F:Terraria.NPC.lifeMax at the end of S...
Definition NPC.cs:1072
IEntitySource GetSpawnSource_ForProjectile()
Definition NPC.cs:107558
static bool[] npcsFoundForCheckActive
Definition NPC.cs:966
bool NPCCanStickToWalls()
Definition NPC.cs:59382
int soundDelay
Definition NPC.cs:974
int FindClosestPlayer()
Definition NPC.cs:82893
static IEntitySource GetSpawnSourceForNaturalSpawn()
Definition NPC.cs:107538
SoundStyle? DeathSound
The sound that plays when this npc dies. Set this to an existing T:Terraria.ID.SoundID entry or assig...
Definition NPC.cs:1067
void AI_005_EaterOfSouls()
Definition NPC.cs:53130
static int brainOfGravity
Definition NPC.cs:1225
static int activeTime
Definition NPC.cs:637
void AI_006_Worms()
Definition NPC.cs:54006
int realLife
Stores the index (the F:Terraria.Entity.whoAmI) of a single NPC. This NPC will then share a health po...
Definition NPC.cs:604
int directionY
Definition NPC.cs:983
void SimpleFlyMovement(Vector2 desiredVelocity, float moveSpeed)
Definition NPC.cs:82824
static int GetBrainOfCthuluCreepersCount()
Definition NPC.cs:53975
bool netUpdate
Definition NPC.cs:1130
int StrikeNPCNoInteraction(int Damage, float knockBack, int hitDirection)
Definition NPC.cs:91674
int target
Definition NPC.cs:1019
static int plantBoss
Definition NPC.cs:588
void AI_123_Deerclops()
Definition NPC.cs:44403
static int[,,,] InitializeMoonLordAttacks()
Definition NPC.cs:1681
void HitEffect(int hitDirection=0, double dmg=10.0, bool? instantKill=null)
Definition NPC.cs:92191
static GenSearch Chain(GenSearch search, params GenCondition[] conditions)
Definition Searches.cs:154
static bool Find(Point origin, GenSearch search, out Point result)
Definition WorldUtils.cs:30

References Terraria.Entity.active, Terraria.NPC.activeTime, Terraria.GameContent.Events.MoonlordDeathDrama.AddExplosion(), Terraria.Lighting.AddLight(), Terraria.NPC.ai, Terraria.NPC.AI_000_TransformBoundNPC(), Terraria.NPC.AI_001_Slimes(), Terraria.NPC.AI_002_FloatingEye(), Terraria.NPC.AI_003_Fighters(), Terraria.NPC.AI_005_EaterOfSouls(), Terraria.NPC.AI_006_Worms(), Terraria.NPC.AI_007_TownEntities(), Terraria.NPC.AI_026_Unicorns(), Terraria.NPC.AI_037_Destroyer(), Terraria.NPC.AI_045_Golem(), Terraria.NPC.AI_047_GolemFist(), Terraria.NPC.AI_065_Butterflies(), Terraria.NPC.AI_069_DukeFishron(), Terraria.NPC.AI_084_LunaticCultist(), Terraria.NPC.AI_107_ImprovedWalkers(), Terraria.NPC.AI_108_DivingFlyer(), Terraria.NPC.AI_109_DarkMage(), Terraria.NPC.AI_110_Betsy(), Terraria.NPC.AI_111_DD2LightningBug(), Terraria.NPC.AI_112_FairyCritter(), Terraria.NPC.AI_113_WindyBalloon(), Terraria.NPC.AI_114_Dragonflies(), Terraria.NPC.AI_115_LadyBugs(), Terraria.NPC.AI_116_WaterStriders(), Terraria.NPC.AI_117_BloodNautilus(), Terraria.NPC.AI_118_Seahorses(), Terraria.NPC.AI_119_Dandelion(), Terraria.NPC.AI_120_HallowBoss(), Terraria.NPC.AI_121_QueenSlime(), Terraria.NPC.AI_122_PirateGhost(), Terraria.NPC.AI_123_Deerclops(), Terraria.NPC.AI_124_ElderSlimeChest(), Terraria.NPC.AI_125_ClumsySlimeBalloon(), Terraria.NPC.AI_87_BigMimic_FireStuffCannonBurst(), Terraria.NPC.AI_AttemptToFindTeleportSpot(), Terraria.NPC.aiAction, Terraria.NPC.aiStyle, Terraria.NPC.alpha, Terraria.NPC.AnyNPCs(), Terraria.NPC.brainOfGravity, Terraria.DataStructures.TileEntity.ByID, Terraria.Collision.CanHit(), Terraria.Collision.CanHitLine(), Terraria.StrayMethods.CanSpawnSandstormHostile(), Terraria.Entity.Center, Terraria.Utils.CenteredRectangle(), Terraria.WorldBuilding.Searches.Chain(), Terraria.StrayMethods.CheckArenaScore(), Terraria.NPC.checkDead(), Terraria.GameContent.Events.CultistRitual.CheckFloor(), Terraria.Main.cloudAlpha, Terraria.NPC.collideX, Terraria.NPC.collideY, Terraria.NPC.color, Terraria.NPC.confused, Terraria.NPC.CountNPCS(), Terraria.NPC.crimsonBoss, Terraria.NPC.damage, Terraria.Main.dayTime, Terraria.ID.SoundID.DD2_EtherianPortalIdleLoop, Terraria.ID.SoundID.DD2_EtherianPortalOpen, Terraria.ID.SoundID.DD2_WinScene, Terraria.NPC.DeathSound, Terraria.Main.dedServ, Terraria.NPC.defDamage, Terraria.NPC.defDefense, Terraria.NPC.defense, Terraria.Entity.direction, Terraria.Entity.DirectionFrom(), Terraria.Entity.DirectionTo(), Terraria.NPC.directionY, Terraria.NPC.DiscourageDespawn(), Terraria.Entity.Distance(), Terraria.NPC.dontTakeDamage, Terraria.NPC.dontTakeDamageFromHostiles, Terraria.Main.dust, Terraria.Main.eclipse, Terraria.NPC.EncourageDespawn(), Terraria.GameContent.Events.DD2Event.EnemySpawningIsOnHold, Terraria.Collision.ExpandVertically(), Terraria.Main.expertMode, Terraria.GameContent.Tile_Entities.TETrainingDummy.Find(), Terraria.WorldBuilding.WorldUtils.Find(), Terraria.GameContent.Events.DD2Event.FindArenaHitbox(), Terraria.Player.FindClosest(), Terraria.NPC.FindClosestPlayer(), Terraria.NPC.FindFirstNPC(), Terraria.NPC.frameCounter, Terraria.NPC.friendly, Terraria.Main.GameModeInfo, Terraria.Audio.SoundEngine.GetActiveSound(), Terraria.NPC.GetAttackDamage_ForProjectiles(), Terraria.NPC.GetAttackDamage_LerpBetweenFinalValues(), Terraria.NPC.GetAttackDamage_ScaledByStrength(), Terraria.NPC.GetBrainOfCthuluCreepersCount(), Terraria.Main.getGoodWorld, Terraria.Utils.GetLerpValue(), Terraria.NPC.GetMyBalance(), Terraria.NPC.getRect(), Terraria.NPC.GetShimmered(), Terraria.NPC.GetSpawnSource_ForProjectile(), Terraria.NPC.GetSpawnSourceForNaturalSpawn(), Terraria.NPC.GetSpawnSourceForNPCFromNPCAI(), Terraria.NPC.GetSpawnSourceForProjectileNPC(), Terraria.Framing.GetTileSafely(), Terraria.Collision.GetWaterLine(), Terraria.NPC.gfxOffY, Terraria.NPC.golemBoss, Terraria.Main.gore, Terraria.ID.TileID.Sets.Conversion.HardenedSand, Terraria.NPC.HealEffect(), Terraria.Entity.height, Terraria.NPC.hide, Terraria.NPC.HitEffect(), Terraria.NPC.HitSound, Terraria.NPC.InitializeMoonLordAttacks(), Terraria.WorldGen.InWorld(), Terraria.Main.IsItDay(), Terraria.NPC.IsMechQueenUp, Terraria.ID.SoundID.Item12, Terraria.ID.SoundID.Item14, Terraria.ID.SoundID.Item17, Terraria.ID.SoundID.Item34, Terraria.ID.SoundID.Item39, Terraria.ID.SoundID.Item5, Terraria.ID.SoundID.Item8, Terraria.NPC.justHit, Terraria.Projectile.Kill(), Terraria.NPC.knockBackResist, Terraria.GameContent.Events.DD2Event.LaneSpawnRate, Terraria.NPC.life, Terraria.NPC.lifeMax, Terraria.NPC.localAI, Terraria.NPC.LunarApocalypseIsUp, Terraria.Main.maxTilesX, Terraria.Main.maxTilesY, Terraria.NPC.mechQueen, Terraria.NPC.MoonLordAttacksArray, Terraria.NPC.MoonLordAttacksArray2, Terraria.Main.mouseTextColor, Terraria.Main.mouseX, Terraria.Main.mouseY, Terraria.Main.myPlayer, Terraria.Main.netMode, Terraria.NPC.netOffset, Terraria.NPC.netSpam, Terraria.NPC.netUpdate, Terraria.Dust.NewDust(), Terraria.Dust.NewDustDirect(), Terraria.Dust.NewDustPerfect(), Terraria.Gore.NewGore(), Terraria.NPC.NewNPC(), Terraria.Projectile.NewProjectile(), Terraria.NPC.noGravity, Terraria.NPC.noTileCollide, Terraria.Main.npc, Terraria.NPC.NPCCanStickToWalls(), Terraria.ID.SoundID.NPCDeath3, Terraria.ID.SoundID.NPCDeath58, Terraria.ID.SoundID.NPCDeath61, Terraria.ID.SoundID.NPCHit15, Terraria.ID.SoundID.NPCHit16, Terraria.ID.SoundID.NPCHit17, Terraria.ID.SoundID.NPCHit4, Terraria.NPC.npcsFoundForCheckActive, Terraria.Entity.oldPosition, Terraria.Entity.oldVelocity, Terraria.NPC.Opacity, Terraria.NPC.plantBoss, Terraria.ID.TileID.Sets.Platforms, Terraria.Main.player, Terraria.Audio.SoundEngine.PlaySound(), Terraria.Audio.SoundEngine.PlayTrackedSound(), Terraria.NPC.PopAllAttachedProjectilesAndTakeDamageForThem(), Terraria.Entity.position, Terraria.Main.projectile, Terraria.GameContent.FixExploitManEaters.ProtectSpot(), Terraria.Main.pumpkinMoon, Terraria.Main.rand, Terraria.Utils.RandomVector2(), Terraria.NPC.realLife, Terraria.NPC.ReflectProjectiles(), Terraria.NPC.reflectsProjectiles, Terraria.NPC.releaseOwner, Terraria.Main.remixWorld, Terraria.GameContent.Events.DD2Event.ReportLoss(), Terraria.GameContent.Events.MoonlordDeathDrama.RequestLight(), Terraria.Utils.RotatedBy(), Terraria.Utils.RotatedByRandom(), Terraria.NPC.rotation, Terraria.ID.TileID.Sets.Conversion.Sand, Terraria.ID.TileID.Sets.Conversion.Sandstone, Terraria.NPC.scale, Terraria.Graphics.Effects.Filters.Scene, Terraria.NetMessage.SendData(), Terraria.NPC.ShieldStrengthTowerNebula, Terraria.NPC.ShieldStrengthTowerSolar, Terraria.NPC.ShieldStrengthTowerStardust, Terraria.NPC.ShieldStrengthTowerVortex, Terraria.Tile.shimmer(), Terraria.NPC.SimpleFlyMovement(), Terraria.Main.snowMoon, Terraria.Collision.SolidCollision(), Terraria.WorldGen.SolidTile(), Terraria.WorldGen.SolidTile2(), Terraria.Collision.SolidTiles(), Terraria.NPC.soundDelay, Terraria.GameContent.Events.DD2Event.SpawnMonsterFromGate(), Terraria.WorldGen.SpawnPlanteraThorns(), Terraria.NPC.SpawnStardustMark_StardustTower(), Terraria.NPC.spriteDirection, Terraria.Main.StartInvasion(), Terraria.NPC.stepSpeed, Terraria.GameContent.Events.DD2Event.StopInvasion(), Terraria.NPC.StrikeNPCNoInteraction(), Terraria.GameContent.Events.CultistRitual.TabletDestroyed(), Terraria.NPC.target, Terraria.NPC.TargetClosest(), Terraria.NPC.TargetClosest_WOF(), Terraria.NPC.targetRect, Terraria.Main.tenthAnniversaryWorld, Terraria.Main.tile, Terraria.Main.tileSolid, Terraria.Main.tileSolidTop, Terraria.NPC.timeLeft, Terraria.Utils.ToRotation(), Terraria.NPC.Transform(), Terraria.NPC.type, Terraria.Projectile.type, Terraria.Main.UnderworldLayer, Terraria.NPC.value, Terraria.Utils.Vector2FromElipse(), Terraria.Entity.velocity, Terraria.Entity.wet, Terraria.Entity.whoAmI, Terraria.Entity.width, Terraria.Main.wofDrawAreaBottom, Terraria.Main.wofDrawAreaTop, Terraria.Main.wofNPCIndex, and Terraria.Main.worldSurface.

Referenced by Terraria.NPC.VanillaAI().

+ Here is the caller graph for this function: